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. 数据开发和后台开发的区别?
大数据开发相当于后台开发的升级版,要处理的数据量更多,应付的场景更复杂。