大数据协作框架简介

         “大数据协作框架”其实就是一个统称,实际上就是Hadoop 2.x生态系统中几个辅助hadoop 2.x框架。在此,主要是以下四个框架:

1)数据转换工具Sqoop

2)文件收集库框架Flume

3)任务调度框架Oozie

4)大数据Web工具Hue


分析数据的来源?

分析数据主要主要有以下两个来源:

1)RDBMS:数据大量存储在RDBMS(Oracle、MySQL、DB2等等)上,如果需要对数据进行分析,需要将这些数据存储到HDFS上去。那么Sqoop的作用就是将关系型数据库中的某张表数据抽取到Hadoop的HDFS文件系统当中,底层运行的还是MapReduce。它利用MapReduce加快数据传输速度。批处理方式进行数据传输。也可以将HDFS上的文件数据或者是Hive表中的数据导出到关系型数据库当中的某张表中。

2)日志文件:数据存储在类似日志文件当中,如何收集这些数据到HDFS上呢?Flume就是实时的收集数据,存储到HDFS中。


当大数据分析平台中MapReduce Job和HiveQL比较多,需要定时调度,合理充分使用集群资源;此外,有很多业务,一般需要多个MapReduce 任务共同完成,那么job1、job2、job3之间的存在彼此的依赖调度。此时就需要一个调度框架来完成【多任务Job定时调度】和【多任务之间的依赖调度】,在Hadoop 2.x生态系统中,有很多类似的框架,其中Oozie是功能最强大的,相对来说很多公司都使用的一个框架(当然很多大公司,自身都有自己开发的调度系统,不会使用Oozie这些)。Oozie既可以基于时间也可以基于数据可用性(调度任务运行之前首先判断要处理的数据是否在HDFS之上存在)的工作流调度框架。当然还有很多其他开源的调度框架,比如Azkaban(简单,能实现调度,发预警,发邮件)、Zeus(阿里开源的Hadoop Job调度框架)等。 


前面已经讲解过很多框架了,各个框架都有自己的WEB UI监控页面,分别对应不同的端口号,比如HDFS(50070)、YARN(8088)、MapReduce(19888)以及Hive运行HiveQL语句时命令行方式等等,此时对于实际的开发人员和运维人员来说,需要一个统一的WEB UI页面,集成大多数大数据常用框架的监控和SQL运行界面,此时Hue应运而生,可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job等等。

综上所述的三个问题,在做大数据平台数据分析过程必须遇到的,因而诞生了对应的框架,并且是开源的,供各大公司使用。其中Sqoop和Oozie底层运行的也是MapReduce Job,所以MapReduce可以说是非常的核心关键,其优势就是分布式的并行计算所决定的。

你可能感兴趣的:(大数据)