一、平台基础
- 1.1、大数据
-
了解什么是大数据,大数据入门,以及大数据介绍。
以及大数据中存在的问题,包括存储,计算的问题,有哪些解决策略。
- 1.2、Hadoop平台生态圈
-
熟悉了解开源Hadoop平台生态圈,以及第三方大数据平台,查找一些Hadoop入门介绍博客或者官网,了解:
What’s Hadoop
Why Hadoop exists
How to Use Hadoop
- 1.3、Hadoop家族成员
-
Hadoop是一个庞大的家族,包含存储,计算等一系列产品组件,需要了解其中的一系列组件,包括HDFS,MapReduce,Yarn,Hive,HBase,ZooKeeper,Flume,Kafka,Sqoop,HUE,Phoenix,Impala,Pig,Oozie,Spark等,知道其干什么,维基百科定义。
- 1.4、HDFS
-
分布式存储HDFS,了解HDFS架构,HDFS的存储机制,各节点协作关系需理解清楚。
- 1.5、Yarn
-
分布式资源管理Yarn,熟悉Yarn架构,以及如何进行资源管理的机制。
- 1.6、MapReduce
-
分布式计算MapReduce,对MapReduce底层架构,处理方案进行了解,计算架构方案,了解MapReduce计算的优势,以及劣势。
- 1.7、HBase
-
大数据高效存储HBase,了解HBase底层架构,HBase的应用场景,存储方案。
- 1.8、Hive
-
大数据仓库Hive,了解Hive的存储机制,Hive的事务型变迁,Hive的应用场景,以及Hive底层计算。
- 1.9、Spark
-
内存计算平台Spark,熟悉Spark内存计算架构,计算流程,Spark的运行模式,以及应用场景。
二、平台进阶
- 2.1、HDFS
-
通过命令行操作HDFS,文件查看,上传,下载,修改文件,赋权限等。
通过java demo连接操作HDFS,实现文件读取,上传,下载功能。
通过DI工具,配置HDFS操作流程,实现关系型数据库文件到HDFS存储,HDFS文件保存到本地目录中。
- 2.2、MapReduce
-
Eclipse绑定Hadoop环境,添加MapReduce Location,用eclipse运行MapReduce的经典实例WordCount,看其中原理,尝试修改为中文词汇统计,并排除不相关词汇。
- 2.3、Hive
-
通过命令行操作Hive,进行beeline连接,SQL语句操作Hive数据仓库。
通过java demo连接操作Hive,实现建表,插入数据,查询,删除数据记录,更新数据,删除表等操作。
通过DI工具,配置关系型数据库抽取到Hive事务表流程,不通过直接驱动连接Hive,通过HDFS以及Hive外表进行过度实现。
- 2.4、HBase
-
在命令行中访问操作使用HBase,建立列族,每列添加数据,修改更新数据查看变化。
通过java demo,用phoenix驱动,连接HBASE,实现对HBASE的建表,增删改查数据操作。
DI工具需要修改源码,或者添加phoenix组件,才能使用,因为phoenix插入语句不是Insert into,而是Upsert into,无法与DI工具匹配。
- 2.5、Spark
-
在命令行中,运行pyspark,以及spark shell,进行spark命令行操作,提交spark示例任务,进行试运行。
切换Spark运行模式,进行命令行尝试体验。
通过java demo连接Spark,进行任务的分发计算运行。
三、平台高级
针对上述组件,进行熟练使用,熟能生巧,举一反三,能够根据场景编写MapReduce代码,Spark代码等,针对Hive,HBase深入理解支持的SQL类型,存储过程,触发器等如何进行操作,能够根据需求设计最优的解决方案。
四、平台深度
深读组件源码,理解平台部署中各个配置的意义及影响,以及如何通过源码以及配置对组件进行优化,修改源码提高Hadoop平台的容错性,扩展性,稳定性等。