国内大数据行业发展的如火如荼,作为互联网时代新型的产业,大数据行业其实是互联网和计算机结合的产物,互联网实现了数据的网络化,计算机实现了数据的数字化,两者结合赋予了大数据生命力。
对于即将毕业的大学生如何入行大数据行业?成为大数据工程师需要哪些知识呢?圳鹏大数据的工程师为同学们列出了一下所需要学习的详细信息和步骤。
一、Hadoop
可以说,hadoop几乎已经是大数据代名词。无论是是否赞成,hadoop已经是大部分企业的大数据标准。得益于Hadoop生态圈,从现在来看,还没有什么技术能够动摇hadoop的地位。
这一块可以按照一下内容来学习:
- Hadoop产生背景
- Hadoop在大数据、云计算中的位置和关系
- 国内外Hadoop应用案例介绍
- 国内Hadoop的就业情况分析及课程大纲介绍
- 分布式系统概述
- Hadoop生态圈以及各组成部分的简介
二、分布式文件系统HDFS
HDFS全称 Hadoop Distributed File System ,它是一个高度容错性的系统,适合部署在廉价的机器上,同时能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。为了实现流式读取文件系统数据的目的,HDFS放宽了一部分POSIX约束。
- 分布式文件系统HDFS简介
- HDFS的系统组成介绍
- HDFS的组成部分详解
- 副本存放策略及路由规则
- NameNode Federation
- hdfs 文件命令行接
- Java接口
- 客户端与HDFS的数据流讲解
- HDFS的可用性(HA)
三、初级MapReduce
这是你成为Hadoop开发人员的基础课程。
MapReduce提供了以下的主要功能:
1)数据划分和计算任务调度:
2)数据/代码互定位:
3)系统优化:
4)出错检测和恢复:
这种编程模型主要用于大规模数据集(大于1TB)的并行运算。
- 如何理解map、reduce计算模型
- 剖析伪分布式下MapReduce作业的执行过程
- Yarn模型
- 序列化
- MapReduce的类型与格式
- MapReduce开发环境搭建
- MapReduce应用开发
- 熟悉MapReduce算法原理
四、高级MapReduce
这一块主要是高级Hadoop开发的技能,都是MapReduce为什么我要分开写呢?因为我真的不觉得谁能直接上手就把MapReduce搞得清清楚楚。
- 使用压缩分隔减少输入规模
- 利用Combiner减少中间数据
- 编写Partitioner优化负载均衡
- 如何自定义排序规则
- 如何自定义分组规则
- MapReduce优化
五、Hadoop集群与管理
这里会涉及到一些比较高级的数据库管理知识,乍看之下都是操作性的内容,但是做成容易,做好非常难。
- Hadoop集群的搭建
- Hadoop集群的监控
- Hadoop集群的管理
- 集群下运行MapReduce程序
六、ZooKeeper基础知识
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
- ZooKeeper体现结构
- ZooKeeper集群的安装
- 操作ZooKeeper.
七、HBase基础知识
HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。与FUJITSU Cliq等商用大数据产品不同,HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。
- HBase定义
- HBase与RDBMS的对比
- 数据模型
- 系统架构
- HBase上的MapReduce
- 表的设计
八、HBase集群及其管理
- 集群的搭建过程
- 集群的监控
- 集群的管理.
九、Hive
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用。
- 数据仓库基础知识
- Hive定义
- Hive体系结构简介
- Hive集群
- 客户端简介
- HiveQL定义
- HiveQL与SQL的比较
- 数据类型
- 表与表分区概念
- 表的操作与CLI客户端
- 数据导入与CLI客户端
- 查询数据与CLI客户端
- 数据的连接与CLI客户端
- 用户自定义函数(UDF)
十、Sqoop
Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
- 配置Sqoop
- 使用Sqoop把数据从MySQL导入到HDFS中
- 使用Sqoop把数据从HDFS导出到MySQL中
十一、Storm
Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。这是管理队列及工作者集群的另一种方式。 Storm也可被用于“连续计算”(continuous computation),对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可被用于“分布式RPC”,以并行的方式运行昂贵的运算。
- Storm基础知识:包括Storm的基本概念和Storm应用 场景,体系结构与基本原理,Storm和Hadoop的对比
- Storm集群搭建:详细讲述Storm集群的安装和安装时常见问题
- Storm组件介绍: spout、bolt、stream groupings等
- Storm消息可靠性:消息失败的重发
- Hadoop 2.0和Storm的整合:Storm on YARN
- Storm编程实战
如果你想快速的的低成本的进入大数据领域请点击:圳鹏大数据
也可以关注公众号获得更多的大数据相关的知识