最新Hadoop大数据开发学习路线图

大数据初学者,总结下来,大致有这么几种情况:

  • 跨行业转过来的(这一种是最难的,之前可能都没接触过编程,这种属于真正的0基础)
  • 即将毕业的大四学员(包含计算机专业或者其他专业,这一种稍微好点,最起码大学的时候多少会接触一点编程)
  • 有软件开发经验的老司机(包含,javaweb,.net,c 等)

  上面这几种情况的同学都有一个共性,对大数据都是0基础,相对而言,有软件开发经验的老司机学习起来不会很吃力,其余的刚开始学起来会比较吃力,但只要肯比别人多花点时间,多下点功夫,其实并没有你想象的那么难。有付出,才会有回报!

  好了,废话不多说了,下面就直接说一下,针对所有大数据初学者的一些学习建议吧【适用于上面三种基础的同学】

大数据是什么?

  有很多朋友问过我,大数据到底是什么?一句话来概括

  • 针对非软件行业的朋友
    • 根据你平时在超市,加油站,饭店等地方的一些消费行为,通过大数据这个技术,我们可以知道你现在的年龄范围,是否婚配,是否有孩子,孩子大致是几岁,是否有固定住宅,车大致是什么价位的等信息。
  • 针对软件行业的朋友
    • 平时我们写的程序都是在一台机器上运行,处理能力有限,当然,数据量也是有限的。大数据这个技术,其实就是可以实现把我们的代码分布在很多台机器上去并行处理海量的数据,然后从这些海量数据中获取有价值,有意义的信息。

学习大数据需要的基本功

  1. linux基础是必须的,最起码需要掌握linux命令行下的基本操作命令

  2. javase基础【包含mysql】,注意是javase,不是javaee。javaweb那一块的知识针对大数据工程师而言不是必须的

互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习群:199加上【427】最后加上210就可以找到组织学习  欢迎进阶中和进想深入大数据的小伙伴加入。
 

Hadoop发展到今天家族产品已经非常丰富,能够满足不同场景的大数据处理需求。作为目前主流的大数据处理技术,市场上很多公司的大数据业务都是基于Hadoop开展,而且对很多场景已经具有非常成熟的解决方案。

作为开发人员掌握Hadoop及其生态内框架的开发技术,就是进入大数据领域的必经之路。

下面详细介绍一下,学习Hadoop开发技术的路线图。
Hadoop本身是用java开发的,所以对java的支持性非常好,但也可以使用其他语言。

下面的技术路线侧重数据挖掘方向,因为Python开发效率较高所以我们使用Python来进行任务。

因为Hadoop是运行在Linux系统上的,所以还需要掌握Linux的知识。

第一阶段:Hadoop生态架构技术
语言基础

Java:掌握javase知识,多理解和实践在Java虚拟机的内存管理、以及多线程、线程池、设计模式、并行化就可以,不需要深入掌握。

Linux:系统安装(命令行界面和图形界面)、基本命令、网络配置、Vim编辑器、进程管理、Shell脚本、虚拟机的菜单熟悉等等。

Python:基础语法,数据结构,函数,条件判断,循环等基础知识。

环境准备

这里介绍在windows电脑搭建完全分布式,1主2从。

VMware虚拟机、Linux系统(Centos6.5)、Hadoop安装包,这里准备好Hadoop完全分布式集群环境。

MapReduce

MapReduce分布式离线计算框架,是Hadoop核心编程模型。主要适用于大批量的集群任务,由于是批量执行,故时效性偏低。

HDFS1.0/2.0

Hadoop分布式文件系统(HDFS)是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

Yarn(Hadoop2.0)

前期了解即可,Yarn是一个资源调度平台,主要负责给任务分配资源。Yarn是一个公共的资源调度平台,所有满足条件的框架都可以使用Yarn来进行资源调度。

Hive

Hive是一个数据仓库,所有的数据都是存储在HDFS上的。使用Hive主要是写Hql,非常类似于Mysql数据库的Sql。其实Hive在执行Hql,底层在执行的时候还是执行的MapRedce程序。

Spark

Spark 是专为大规模数据处理而设计的快速通用的计算引擎,其是基于内存的迭代式计算。Spark 保留了MapReduce 的优点,而且在时效性上有了很大提高。

Spark Streaming

Spark Streaming是实时处理框架,数据是一批一批的处理。

Spark Hive

基于Spark的快速Sql检索。Spark作为Hive的计算引擎,将Hive的查询作为Spark的任务提交到Spark集群上进行计算,可以提高Hive查询的性能。

Storm

Storm是一个实时计算框架,和MR的区别就是,MR是对离线的海量数据进行处理,而Storm是对实时新增的每一条数据进行处理,是一条一条的处理,可以保证数据处理的时效性。

Zookeeper

Zookeeper是很多大数据框架的基础,它是集群的管理者。监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。

最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户

Hbase

Hbase是一个Nosql 数据库,是一个Key-Value类型的数据库,是高可靠、面向列的、可伸缩的、分布式的数据库。

适用于非结构化的数据存储,底层的数据存储在HDFS上。

Kafka

kafka是一个消息中间件,在工作中常用于实时处理的场景中,作为一个中间缓冲层。

Flume

Flume是一个日志采集工具,常见的就是采集应用产生的日志文件中的数据,一般有两个流程。

一个是Flume采集数据存储到Kafka中,方便Storm或者SparkStreaming进行实时处理。

另一个流程是Flume采集的数据存储到HDFS上,为了后期使用hadoop或者spark进行离线处理。

第二阶段:数据挖掘算法
中文分词

开源分词库的离线和在线应用

自然语言处理

文本相关性算法

推荐算法

基于CB、CF,归一法,Mahout应用。

分类算法

NB、SVM

回归算法

LR、Decision Tree

聚类算法

层次聚类、Kmeans

神经网络与深度学习

NN、Tensorflow

以上就是学习Hadoop开发的一个详细路线,鉴于篇幅原因只列举和解释了框架作用。

学习完第一阶段的知识,已经可以从事大数据架构相关的工作,可以在企业中负责某些或某个的开发与维护工作。

学习完第二阶段的知识,可以从事数据挖掘相关的工作,这也是目前进入大数据行业含金量最高的工作。
 

猜你喜欢

转载自blog.csdn.net/qq_43958467/article/details/87866277