作为一个大数据的初学者,要知道学习一些什么,以及如何的去学习,我也是一个初学者,这是我了解到的学习路线,也是我要走的学习路线。
原文路线:http://dataunion.org/31604.html
1、初始Hadoop
学会搭建Hadoop,跑一跑mapreduce,理解一下原理
2、更高效的WordCount
2.1 SQL
2.2 SQL版的wordcount
2.3 Hive SQL ON HADOOP
2.4 安装配置hive
2.5 使用hive
2.6 hive是怎么工作的
2.7 学会hive的基本命令
具备如下知识点和技能
0和Hadoop2.0的区别;
MapReduce的原理(还是那个经典的题目,一个10G大小的文件,给定1G大小的内存,如何使用Java程序统计出现次数最多的10个单词及次数);
HDFS读写数据的流程;向HDFS中PUT数据;从HDFS中下载数据;
自己会写简单的MapReduce程序,运行出现问题,知道在哪里查看日志;
会写简单的SELECT、WHERE、GROUP BY等SQL语句;
Hive SQL转换成MapReduce的大致流程;
Hive中常见的语句:创建表、删除表、往表中加载数据、分区、将表中数据下载到本地;
从上面的学习,你已经了解到,HDFS是Hadoop提供的分布式存储框架,它可以用来存储海量数据,MapReduce是Hadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据,而Hive则是SQL On Hadoop,Hive提供了SQL接口,开发人员只需要编写简单易上手的SQL语句,Hive负责把SQL翻译成MapReduce,提交运行。
此时,你的”大数据平台”是这样的:
那么问题来了,海量数据如何到HDFS上呢?
3、把别处的数据搞到Hadoop上
3.1 HDFS put命令
3.2 HDFS API
3.3 sqoop
3.4 Flume
你的”大数据平台”应该是这样的:
4、把hadoop上的数据搞到别处
4.1 HDFS GET命令
熟练掌握
4.2 HDSF API
4.3 sqoop
使用Sqoop完成将HDFS上的文件同步到MySQL;
使用Sqoop完成将Hive表中的数据同步到MySQL;
你的”大数据平台”应该是这样的:
5、SQL更快一点
5.1 关于Spark和SparkSQL
5.2 如何部署和运行SparkSQL
你的”大数据平台”应该是这样的:
6、一夫多妻制
6.1 关于Kafka
6.2 如何部署和使用Kafka
你的”大数据平台”应该是这样的:
7、越来越多的分析任务
7.1 Apache Oozie
7.2 其他开源的任务调度系统
你的”大数据平台”应该是这样的:
8、数据的实时性要求
8.1 Storm
8.2 Spark Streaming
你的”大数据平台”应该是这样的:
9、数据要对外
10、高大上的机器学习
在我们的业务中,遇到的能用机器学习解决的问题大概这么三类:
分类问题:包括二分类和多分类,二分类就是解决了预测的问题,就像预测一封邮件是否垃圾邮件;多分类解决的是文本的分类;
聚类问题:从用户搜索过的关键词,对用户进行大概的归类。
推荐问题:根据用户的历史浏览和点击行为进行相关推荐。
大多数行业,使用机器学习解决的,也就是这几类问题。
入门学习线路:
数学基础;
机器学习实战(Machine Learning in Action),懂Python最好;
SparkMlLib提供了一些封装好的算法,以及特征处理、特征选择的方法。
机器学习确实牛逼高大上,也是我学习的目标。
那么,可以把机器学习部分也加进你的“大数据平台”了。