主页 > 新闻资讯 > 大数据学习:Hadoop生态数据采集开源工具组件

大数据学习:Hadoop生态数据采集开源工具组件

作者:张老师 浏览次数: 2021-07-29 17:06
进入到大数据时代,数据以非常快的速度在新增,而进行数据处理的前提,是先要将数据汇集起来,这就属于数据采集环节了。今天的大数据学习分享,我们主要来讲讲,Hadoop生态数据采集开源工具组件。

一、Sqoop和Flume数据采集和集成

大数据学习:Hadoop生态数据采集开源工具组件

如果从Hadoop提供的标准技术架构和开源工具集,对于数据采集和集成部分重点就是两个工具,一个是Sqoop,一个是Flume。

Sqoop主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并达到各种数据接受方(可定制)的能力。

对于两者的区别简单说明如下:

Sqoop只支持结构化数据和HDFS之间的数据集成,Flume支持文件和日志;

Sqoop基于Mapreduce的批处理机制,Flume基于事件和流处理机制;

Sqoop偏定时处理,Flume偏实时或准实时处理;

当面对的是批量和大数据的时候,Sqoop性能好于Flume;

在采用Sqoop方式进行数据采集和集成的时候,需要考虑的就是增量数据采集。增量数据导入分两种,一是基于递增列的增量数据导入(Append方式)。二是基于时间列的增量数据导入(LastModified方式)。当前这两种方式Sqoop已经支持。

大数据学习:Hadoop生态数据采集开源工具组件

而对于Flume,最早仅用于日志文件的实时采集和处理,而当前的Agent已经能够支持对结构化数据库的适配,也就是说结构化数据库的数据也可以类似流处理的方式采集到Hdfs库。

二、开源DataX数据采集和集成

大数据学习:Hadoop生态数据采集开源工具组件

DataX是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。对于DataX整个架构设计最好的地方就是将Reader和Writer分离,你可以灵活地定义各种读写插件进行扩展。

Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。

Writer:Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。

对于DataX可以看到实际和Sqoop大部分功能都相同,但是两者本身架构实现机制还是有差异。Sqoop本身是基于Hadoop的MapReduce机制进行分布式作业,而对于DataX则是自己对Job进行切分,然后并行执行。

对于DataX和Sqoop实际在单节点测试情况来看,两者在性能上的差距并不明显。但是数据源是Oracle,Msyql数据库的时候,DataX的性能略好;而当数据源是Hdfs库的时候,Sqoop性能略好。但是开源的DataX不支撑分布式集群,这个本身也对于大数据量下的架构扩展有影响。单节点的峰值传输能力在15M/S左右。

关于大数据学习,Hadoop生态数据采集开源工具组件,以上就为大家做了简单的介绍了。在现有的大数据技术生态当中,数据采集是大数据平台当中的重要一环,相关的组件工具,需要有清晰的了解。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频,可联系客服获取!
热点排行
推荐文章
立即申请>>