很多人都知道大数据很火,就业很好,薪资很高,想往大数据方向发展。但该学哪些技术,学习路线是什么样的呢?用不用参加大数据培训呢?如果自己很迷茫,为了这些原因想往大数据方向发展,也可以,那么大讲台老师就想问一下,你的专业是什么,对于计算机/软件,你的兴趣是什么?是计算机专业,对操作系统、硬件、网络、服务器感兴趣?是软件专业,对软件开发、编程、写代码感兴趣?还是数学、统计学专业,对数据和数字特别感兴趣。
其实这就是想告诉你的大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/设计/架构、数据分析/挖掘。请不要问我哪个容易,哪个前景好,哪个钱多。
必须技能10条
1.Java高级(虚拟机、并发)
2.Linux 基本操作
3.Hadoop(此处为侠义概念单指HDFS+MapReduce+Yarn )
4.HBase(JavaAPI操作+Phoenix )
5.Hive(Hql基本操作和原理理解)
6.Kafka
7.Storm
8.Scala需要
9.Python
10.Spark (Core+sparksql+Spark streaming )
11.一些小工具(Sqoop等)
高阶技能6条
1.机器学习算法以及mahout库加MLlib
2.R语言
3.Lambda 架构
4.Kappa架构
5.Kylin
6.Aluxio
第一章:初识Hadoop
1.1 学会百度与Google
1.2 参考资料首选官方文档
1.3 先让Hadoop跑起来
1.4 试试使用Hadoop
1.5 你该了解它们的原理了
1.6 自己写一个MapReduce程序
第二章:更高效的WordCount
2.1 学点SQL吧
2.2 SQL版WordCount
2.3 SQL On Hadoop之Hive
2.4 安装配置Hive
2.5 试试使用Hive
2.6 Hive是怎么工作的
2.7 学会Hive的基本命令
第三章:把别处的数据搞到Hadoop上
3.1 HDFS PUT命令
3.2 HDFS API
3.3 Sqoop
3.4 Flume
3.5 阿里开源的DataX
第四章:把Hadoop上的数据搞到别处去
4.1 HDFS GET命令
4.2 HDFS API
4.3 Sqoop
4.4 DataX
第五章:快一点吧,我的SQL
5.1 关于Spark和SparkSQL
5.2 如何部署和运行SparkSQL
第六章:一夫多妻制
6.1 关于Kafka
6.2 如何部署和使用Kafka
第七章:越来越多的分析任务
7.1 Apache Oozie
7.2 其他开源的任务调度系统
第八章:我的数据要实时
8.1 Storm
8.2 Spark Streaming
第九章:我的数据要对外
通常对外(业务)提供数据访问,大体上包含以下方面:
离线:比如,每天将前一天的数据提供到指定的数据源(DB、FILE、FTP)等;离线数据的提供可以采用Sqoop、DataX等离线数据交换工具。
实时:比如,在线网站的推荐系统,需要实时从数据平台中获取给用户的推荐数据,这种要求延时非常低(50毫秒以内)。
根据延时要求和实时数据的查询需要,可能的方案有:HBase、Redis、MongoDB、ElasticSearch等。
OLAP分析:OLAP除了要求底层的数据模型比较规范,另外,对查询的响应速度要求也越来越高,可能的方案有:Impala、Presto、SparkSQL、Kylin。如果你的数据模型比较规模,那么Kylin是最好的选择。
即席查询:即席查询的数据比较随意,一般很难建立通用的数据模型,因此可能的方案有:Impala、Presto、SparkSQL。
这么多比较成熟的框架和方案,需要结合自己的业务需求及数据平台技术架构,选择合适的。原则只有一个:越简单越稳定的,就是最好的。
第十章:逼格高的机器学习
关于这块,大讲台老师只是简单介绍一下了。
在我们的业务中,遇到的能用机器学习解决的问题大概这么三类:
分类问题:包括二分类和多分类,二分类就是解决了预测的问题,就像预测一封邮件是否垃圾邮件;多分类解决的是文本的分类;
聚类问题:从用户搜索过的关键词,对用户进行大概的归类。
推荐问题:根据用户的历史浏览和点击行为进行相关推荐。
大多数行业,使用机器学习解决的,也就是这几类问题。
PS:
关注微信公众号“程序员OfHome”,发送“领取资料”可以免费领取视频资料。
群里有都是从事或者在学习大数据的朋友,在此我也邀请你进群一起学习,群内没有广告,也是禁止打广告的,大家也可以关注一下我的微信公共号“程序员OfHome”下方扫扫可关注。