♥️大数据开发是干什么的?
大数据作为时下火热的IT行业的词汇,随之而来的数据开发、数据仓库、数据安全、数据分析、数据挖掘等等围绕大数据的商业价值的利用逐渐成为行业人士争相追捧的利润焦点。随着大数据时代的来临,大数据开发也应运而生。
首先从工作内容,大数据开发主要负责大数据的大数据挖掘,数据清洗的发展,数据建模工作,主要负责处理和大数据应用,结合大数据可视化分析工程师,挖掘出价值的数据,为企业提供业务发展支持。大数据数据开发工程师偏重建设和优化系统。
大数据开发其实分两种:
第一类是编写一些Hadoop、Spark的应用程序,第二类是对大数据处理系统本身进行开发。第二类工作的话通常才大公司里才有,一般他们都会搞自己的系统或者再对开源的做些二次开发。这种工作的话对理论和实践要求的都更深一些,也更有技术含量。
目前,一个大数据工程师的月薪轻松过万,一个有几年工作经验的工程师薪酬在40万~160万元之间不等,而更顶尖的大技术人才则是年薪轻松超百万。
大数据开发学习有一定难度,零基础入门首先要学习Java语言打基础,一般而言,Java学习SE、EE,需要约3个月的时间;然后进入大数据技术体系的学习,主要学习Hadoop、Spark、Storm
大数据基础知识、大数据平台知识、大数据场景应用。
大数据基础知识有三个主要部分:数学、统计学和计算机;
大数据平台知识:是大数据开发的基础,往往以搭建Hadoop、Spark平台为主;
大数据场景是目前大数据的重要应用,这些场景包括很多领域,比如金融大数据、交通大数据、教育大数据、餐饮大数据等等,这些场景应用的背后也需要对行业知识有一定的了解。
大数据未来的发展空间很不错,学习大数据是一个不错的选择。
大数据方面有很多的技术:
一是大数据平台本身,一般是基于某些Hadoop产品如CDH的产品部署后提供服务。部署的产品里面有很多的组件,如HIVE、HBASE、SPARK、ZOOKEEPER等;
二是ETL,即数据抽取过程;大数据平台中的原始数据一般是来源于公司内的其它业务系统,如银行里面的信贷、核心等,这些业务系统的数据每天会从业务系统抽取到大数据平台中,然后进行一系列的标准化、清理等操作,再然后经过一些建模生成一些模型给下游系统使用;
三是数据分析;在数据收集完成后基于这些数据要做一些什么样的处理,典型的如报表应用,那每天可能就是写SQL开发报表了;还有一些如风险监测等平台,都要基于大数据平台收集的数据来进行处理。
♥️大数据开发需要掌握哪些技术?学习路线如何?
阶段一:Linux&Hadoop生态体系基础知识、原理
Linux体系、Python编程语言核心用法、Hadoop离线计算原理、分布式数据库Hbase、数据仓库Hive、Flume分布式日志采集、zookeeper全局分布式锁、kafka分布式发布-订阅消息系统、spark分布式计算框架。
阶段二:分布式计算框架和Spark&Strom/flink生态体系
(1)分布式计算框架优化与实战
Scala编程语言核心用法、Spark(sql、shell)大数据处理、Spark—Streaming大数据处理、Spark—Mlib机器学习)大数据处理、Spark—Streaming大数据处理、Spark—Mlib机器学习、hive数仓实战、hbase实战。
实战一:数据采集业务 + flume
实战二:kafka + sparkstreaming实时数据处理
实战三:推荐系统(完整流程)+ 工程
(2)Storm/flink技术架构体系
Storm/flink原理、基础、调优 消息队列kafka、Redis工具、zookeeper详解
实战一:LogServer
实战二:storm/flink + zookeeper
实战三:hbase+zookeeper
阶段三、数据挖掘与机器学习
结巴+隐马尔科夫、维特比算法+userCF、spark实现userCF+itemCF+LR+商品预测、决策树+随机森林+GBDT、支持向量机SVM、神经网络与深度学习、word2vec + lstm、als算法、kmeans + spark应用 + 交叉特征、贝叶斯 + 新闻分类 + saprk应用。
♥️大数据开发需要掌握数学知识吗?
1、大数据分析需要数学及统计学基础
2、大数据开发主要学习编程技术,不需要数学基础
♥️大数据开发就业前景如何?
1、大数据人才缺口百万+
2、2018年一线城市大数据开发岗位年薪30w
3、与人工智能、云计算以及电商、旅游、物流等行业的对接将更加深入,发展方向也更加广泛
♥️大数据开发工程师薪资待遇及招聘要求?
大数据开发工程师
北京大数据开发平均工资:¥ 20230/月。
大数据开发工程师/专家 岗位指责(引自 滴滴出行):
职位描述:
1、构建分布式大数据服务平台,参与和构建公司包括海量数据存储、离线/实时计算、实时查询,大数据系统运维等系统;
2、服务各种业务需求,服务日益增长的业务和数据量;
3、深入源码内核改进优化开源项目,解决各种hadoop、spark、hbase疑难l问题,参与到开源社区建设和代码贡献。
岗位要求:
1、计算机或相关专业本科以上学历(2年以上工作经验);
2、精通C++/Java/Scala/python 程序开发(至少一种),熟悉Linux/Unix开发环境;
3、熟悉常用开源分布式系统,精通Hadoop/Hive/Spark/Storm/Flink/HBase之一源代码;
4、有大规模分布式系统开发、维护经验,有故障处理能力,源码级开发能力;
5、具有良好的沟通协作能力,具有较强的分享精神;
6、对Kudu、Kylin、Impala、ElasticSearch,github等系统有深入使用和底层研究者加分。
♥️:什么样的人,适合学习大数据开发?