A. 文昌菩提商品交易中心可靠嗎
文昌菩提商品交易中心可靠。
通過文昌菩提的電商平台、應價零批平台,各地特色農產品的銷售都能輕松輻射全國。三峽的陽菊、文昌的椰油、文昌的雞、新疆的小白杏,各種2019年上半年最受歡迎的地方特產。
B. 小米2年半大數據經驗,到手工資11400,大數據真有這么低
最近,號主在論壇上看到一位小哥曬工資簡訊,並且附言 「猴廠2年半大數據,心態崩了」 ,顯示的月工資到手為11443.55元。
小哥之所以心態崩潰,是因為工資 太太太太太低 啦。
我們都知道,大數據新人的起薪一般是12-20K不等。如果是技術過硬面試談的又好的,年薪三十萬也有很多。
而這位小哥在著名的猴場「小米」工作2年半,如果稅後工資是11400左右,那麼稅前有極大可能性在15K左右。
當然,這位小哥大概率是通過校招進入小米,而在兩年多的時間里,薪資一直沒有得到提升。
對於這種情況,有網友表示:
出去隨便就可以double,運氣好可以三倍。
如果這位小哥正常跳槽,以他的經驗和大廠經歷,那麼25K左右是沒什麼問題的。
其實,號主想說,大數據新人起薪在14-20之間都是正常薪資,畢竟這也是積累經驗和能力的階段。一般新人在3-5年內跳槽的話,工資都會翻倍甚至幾倍提升。所以不用看一時的薪資,還是要多提升自己的技術實力。
今天,我們就來看看現在大數據行業的就業薪資具體怎麼樣,是什麼水平。
大數據的就業職位
大數據專業的職業發展主要分為3個方向:
1、大數據開發方向; 所涉及的職業崗位為:大數據工程師、大數據維護工程師、大數據研發工程師、大數據架構師等;
2、數據挖掘、數據分析和機器學習方向; 所涉及的職業崗位為:大數據分析師、大數據高級工程師、大數據分析師專家、大數據挖掘師、大數據演算法師等;
3、大數據運維和雲計算方向; 對應崗位:大數據運維工程師;
大數據的薪資
以最基礎的大數據開發為例,入門最低薪資可達12K-20K,且該行業的薪資增長率極高。
有著3-5年工作經驗的大數據工程師薪資可達年薪30萬以上。
我們搜索了大數據工程師在全網的招聘薪資,發現最低大多數要求1年以上經驗,薪資都在20K以上。3年以上經驗的工程師至少都是年薪30萬起。
而據了解,在國內頂尖互聯網類公司,同一個級別大數據工程師的薪酬可能要比其他技術職位高20%至30%,且頗受企業重視。
大數據培訓後薪資
因為大數據是一個新興技術,很多高校還沒有開設大數據專業,所以想入行,最好的辦法就是參加培訓。
因為我接觸到的學生畢業後一般在北京、廣東、上海、南京地區就業的居多:下面說一下薪資情況。
1、目前培訓畢業後的就業周期一般在2周-4周之間, 一般在2周的時候就會拿到1-3份OFFER
2、2017年畢業學生從10-25K都有,15K居多。和入職企業及地區有很大關系
3、2018年學生15-25K,15K為最低入職薪資,17-18K居多
4、以上薪資待遇不含13薪等其他福利,綜合收入會更高一些
如果你對大數據開發感興趣,想系統學習大數據的話,可以加入大數據技術學習交流扣扣群458345782,私信管理員即可免費領取開發工具以及入門學習資料
C. 如何使用java API操作Hbase
寫了個Hbase新的api的增刪改查的工具類,以供參考,直接拷貝代碼就能用,散仙覺得基礎的功能,都有了,代碼如下:
package com.dhgate.hbase.test;
import java.util.ArrayList;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.filter.PageFilter;
import org.apache.hadoop.hbase.filter.PrefixFilter;
import org.apache.hadoop.hbase.util.Bytes;
/**
* 基於新的API
* Hbase0.96版本
* 寫的工具類
*
* @author qindongliang
* 大數據技術交流群: 376932160
*
* **/
public class HbaseCommons {
static Configuration conf=HBaseConfiguration.create();
static String tableName="";
public static void main(String[] args)throws Exception {
//String tableName="test";
//createTable(tableName, null);
}
/**
* 批量添加數據
* @param tableName 標名字
* @param rows rowkey行健的集合
* 本方法僅作示例,其他的內容需要看自己義務改變
*
* **/
public static void insertList(String tableName,String rows[])throws Exception{
HTable table=new HTable(conf, tableName);
List<Put> list=new ArrayList<Put>();
for(String r:rows){
Put p=new Put(Bytes.toBytes(r));
//此處示例添加其他信息
//p.add(Bytes.toBytes("family"),Bytes.toBytes("column"), 1000, Bytes.toBytes("value"));
list.add(p);
}
table.put(list);//批量添加
table.close();//釋放資源
}
/**
* 創建一個表
* @param tableName 表名字
* @param columnFamilys 列簇
*
* **/
public static void createTable(String tableName,String[] columnFamilys)throws Exception{
//admin 對象
HBaseAdmin admin=new HBaseAdmin(conf);
if(admin.tableExists(tableName)){
System.out.println("此表,已存在!");
}else{
//舊的寫法
//HTableDescriptor tableDesc=new HTableDescriptor(tableName);
//新的api
HTableDescriptor tableDesc=new HTableDescriptor(TableName.valueOf(tableName));
for(String columnFamily:columnFamilys){
tableDesc.addFamily(new HColumnDescriptor(columnFamily));
}
admin.createTable(tableDesc);
System.out.println("建表成功!");
}
admin.close();//關閉釋放資源
}
/**
* 刪除一個表
* @param tableName 刪除的表名
* */
public static void deleteTable(String tableName)throws Exception{
HBaseAdmin admin=new HBaseAdmin(conf);
if(admin.tableExists(tableName)){
admin.disableTable(tableName);//禁用表
admin.deleteTable(tableName);//刪除表
System.out.println("刪除表成功!");
}else{
System.out.println("刪除的表不存在!");
}
admin.close();
}
/**
* 插入一條數據
* @param tableName 表明
* @param columnFamily 列簇
* @param column 列
* @param value 值
*
* ***/
public static void insertOneRow(String tableName,String rowkey,String columnFamily,String column,String value)throws Exception{
HTable table=new HTable(conf, tableName);
Put put=new Put(Bytes.toBytes(rowkey));
put.add(Bytes.toBytes(columnFamily), Bytes.toBytes(column), Bytes.toBytes(value));
table.put(put);//放入表
table.close();//釋放資源
}
/**
* 刪除一條數據
* @param tableName 表名
* @param row rowkey行鍵
*
* */
public static void deleteOneRow(String tableName,String row)throws Exception{
HTable table=new HTable(conf, tableName);
Delete delete=new Delete(Bytes.toBytes(row));
table.delete(delete);
table.close();
}
/**
* 刪除多條數據
* @param tableName 表名
* @param rows 行健集合
*
* **/
public static void deleteList(String tableName,String rows[])throws Exception{
HTable table=new HTable(conf, tableName);
List<Delete> list=new ArrayList<Delete>();
for(String row:rows){
Delete del=new Delete(Bytes.toBytes(row));
list.add(del);
}
table.delete(list);
table.close();//釋放資源
}
/**
* 獲取一條數據,根據rowkey
* @param tableName 表名
* @param row 行健
*
* **/
public static void getOneRow(String tableName,String row)throws Exception{
HTable table=new HTable(conf, tableName);
Get get=new Get(Bytes.toBytes(row));
Result result=table.get(get);
printRecoder(result);//列印記錄
table.close();//釋放資源
}
/**
* 查看某個表下的所有數據
*
* @param tableName 表名
* */
public static void showAll(String tableName)throws Exception{
HTable table=new HTable(conf, tableName);
Scan scan=new Scan();
ResultScanner rs=table.getScanner(scan);
for(Result r:rs){
printRecoder(r);//列印記錄
}
table.close();//釋放資源
}
/**
* 查看某個表下的所有數據
*
* @param tableName 表名
* @param rowKey 行健
* */
public static void ScanPrefixByRowKey(String tableName,String rowKey)throws Exception{
HTable table=new HTable(conf, tableName);
Scan scan=new Scan();
scan.setFilter(new PrefixFilter(Bytes.toBytes(rowKey)));
ResultScanner rs=table.getScanner(scan);
for(Result r:rs){
printRecoder(r);//列印記錄
}
table.close();//釋放資源
}
/**
* 查看某個表下的所有數據
*
* @param tableName 表名
* @param rowKey 行健掃描
* @param limit 限制返回數據量
* */
public static void ScanPrefixByRowKeyAndLimit(String tableName,String rowKey,long limit)throws Exception{
HTable table=new HTable(conf, tableName);
Scan scan=new Scan();
scan.setFilter(new PrefixFilter(Bytes.toBytes(rowKey)));
scan.setFilter(new PageFilter(limit));
ResultScanner rs=table.getScanner(scan);
for(Result r:rs){
printRecoder(r);//列印記錄
}
table.close();//釋放資源
}
/**
* 根據rowkey掃描一段范圍
* @param tableName 表名
* @param startRow 開始的行健
* @param stopRow 結束的行健
* **/
public void scanByStartAndStopRow(String tableName,String startRow,String stopRow)throws Exception{
HTable table=new HTable(conf, tableName);
Scan scan=new Scan();
scan.setStartRow(Bytes.toBytes(startRow));
scan.setStopRow(Bytes.toBytes(stopRow));
ResultScanner rs=table.getScanner(scan);
for(Result r:rs){
printRecoder(r);
}
table.close();//釋放資源
}
/**
* 掃描整個表裡面具體的某個欄位的值
* @param tableName 表名
* @param columnFalimy 列簇
* @param column 列
* **/
public static void getValueDetail(String tableName,String columnFalimy,String column)throws Exception{
HTable table=new HTable(conf, tableName);
Scan scan=new Scan();
ResultScanner rs=table.getScanner(scan);
for(Result r:rs){
System.out.println("值: " +new String(r.getValue(Bytes.toBytes(columnFalimy), Bytes.toBytes(column))));
}
table.close();//釋放資源
}
/**
* 列印一條記錄的詳情
*
* */
public static void printRecoder(Result result)throws Exception{
for(Cell cell:result.rawCells()){
System.out.print("行健: "+new String(CellUtil.cloneRow(cell)));
System.out.print("列簇: "+new String(CellUtil.cloneFamily(cell)));
System.out.print(" 列: "+new String(CellUtil.cloneQualifier(cell)));
System.out.print(" 值: "+new String(CellUtil.cloneValue(cell)));
System.out.println("時間戳: "+cell.getTimestamp());
}
}
}
D. r數據挖掘 電腦硬體配置
1. 電腦需要什麼配置?
學大數據的電腦配置主要在內存方面,至少8G,上不封頂,一般16G夠用。當然這只是學習層面,自己搭虛擬機玩玩。工作中,公司自然會給你分配伺服器讓你工作。
2. 有哪些方向?
數據開發、數據分析、數據挖掘。其中每個大方向又拆分了幾個小方向。
三者的聯系是,數據過來之後先進行開發,然後進行分析,最後從數據中挖掘出價值並進行應用。
3. 用Java還是Python?
數據分析和數據挖掘基本使用Python。
數據開發不局限於語言。數據開發大多數Java,少部分Python,也有Scala,具體看公司項目技術棧。因為大部分大數據框架都支持Java介面,而且大部分公司項目技術棧都用Java,所以Java居多。Python更多地使用在腳本或者前期的框架粘合。Scala大多用在Spark框架。
具體可以去招聘網站的JD看,先看自己想去的公司,最後再看自己所在城市的公司。
4. 需要學機器學習嗎?
數據挖掘需要機器學習的知識,部分數據分析崗位需要機器學習知識。
數據開發大多數是不需要的,但有些公司的數據開發崗位也要涉及到推薦系統模型等,或者要使用Spark的mlib庫等等。初學者不需要特意去學,可等到後期技能拓展或者工作中需要再學。
如果你對大數據開發感興趣,想系統學習大數據的話,可以戳我加入大數據技術學習交流群,了解課程,獲取學習資源
5. 哪個方向好?
都好,興趣為王!想做演算法相關的學數據挖掘,想做開發寫代碼的就學數據開發,想接觸業務層面的可以學數據分析,更多的可以結合自己之前的專業技能、工作經歷及之後想從事的工作內容進行考慮。
6. 需要數學知識嗎?
數據開發和一般崗位的數據分析師都不需要什麼數學知識,除了數據挖掘和部分數據分析進行建模時需要進行統計等操作才需要數學知識。
7. 需要高學歷嗎?
入門級別的都不用看學歷。看學歷指數:數據挖掘 > 數據分析 > 數據開發。數據分析和開發正常本科就夠了,數據挖掘大多是本科以上。
8. 薪資高嗎?
大環境下,薪資:數據挖掘 > 數據開發 > 數據分析。同一家公司同一級別的崗位,數據開發正常高於普通開發。
具體看城市、公司以及工作年限。
9. 就業前景和市場需求怎麼樣?
市場需求怎麼樣,看培訓機構的動作就知道了,今年市場上湧起一大批大數據的培訓機構。而且隨著企業上雲,數字化轉型,5G時代的到來,對數據會越來越重視。
無論哪個方向的就業前景都是明朗的,大數據的三大方向後期可以進階純技術架構,純業務管理,技術與業務結合的解決方案架構師,也可以三者之間相互轉型。
第一批大數據專業的學生現在大三,至少得再過2,3年,學校的課程才會相對完善,並能批量生產。不過科班的學生都知道,是不是科班只有在簡歷上寫的不一樣,上課玩的游戲都一樣的。
10. 數據開發和後台開發的區別?
大數據開發相當於後台開發的升級版,要處理的數據量更多,應付的場景更復雜。