推荐大数据学习资料,千锋的大数据学习路线

大数据在商业、金融、物流和零售等行业的应用已经先行一步,在医疗、教育和体育等行业的应用方兴未艾,但是在十分重要的政府治理方面尚有待加大发力。作为开发人员掌握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完全分布式集群环境。

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

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

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

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

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

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

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

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

Zookeeper

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

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

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

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

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

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

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180824A0456100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券