第8章-大数据采集.pptx
《第8章-大数据采集.pptx》由会员分享,可在线阅读,更多相关《第8章-大数据采集.pptx(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第8章 大数据采集目 录1SqoopSqoop简介简介FlumeFlume简介简介KafkaKafka简介简介238.1.1 Sqoop8.1.1 Sqoop简介简介1、Sqoop简简介介Sqoop 的的产产生主要源于以下几种需求:生主要源于以下几种需求:(1)多数使用)多数使用 Hadoop技技术处术处理大数据理大数据业务业务的企的企业业,有大量的,有大量的数据存数据存储储在在传统传统的关系型数据的关系型数据库库(RDBMS)中。)中。(2)由于缺乏工具的支持,)由于缺乏工具的支持,对对Hadoop和和传统传统关系型数据关系型数据库库中中的数据的数据进进行相互行相互传输传输是一件十分困是一件
2、十分困难难的事情。的事情。(3)基于前两个方面的考)基于前两个方面的考虑虑,因此需要一个在,因此需要一个在RDBMS与与 Hadoop之之间进间进行数据行数据传输传输的的项项目。目。8.1.1 Sqoop8.1.1 Sqoop简介简介Sqoop是是SQL to Hadoop的的缩缩写,是一款写,是一款Hadoop和关系数据和关系数据库库之之间进间进行批量数据迁移(行批量数据迁移(导导入、入、导导出)的工具,即可以将出)的工具,即可以将MySQL,Oracle等关系型数据等关系型数据库库中的数据中的数据导导入到入到 Hadoop的的HDFS、HIVE、HBASE 中,也可以将中,也可以将HDFS
3、、HIVE、HBASE中的数据中的数据导导出到关系数据出到关系数据库库中,如下中,如下图图8-2所示。所示。Sqoop底底层层使用使用MapReduce程序程序实现实现抽取、抽取、转换转换和加和加载载操作,由于操作,由于MapReduce保保证证了并行性和高容了并行性和高容错错率,且任率,且任务执务执行在行在Hadoop集群上,所以通集群上,所以通过过Sqoop进进行数据迁移具有有很好的性能。行数据迁移具有有很好的性能。2、Sqoop版本版本目前有目前有sqoop1和和sqoop2两代版本,两代版本完全不同,且不兼两代版本,两代版本完全不同,且不兼容。容。sqoop1:1.4.x sqoop2
4、:1.99.xsqoop2比比sqoop1的改的改进进主要有:主要有:(1)引入引入sqoop server,集中化管理,集中化管理connector等;等;(2)多种多种访问访问方式:方式:CLI,Web UI,REST API;(3)引入基于角色引入基于角色 的安全机制。的安全机制。功能功能Sqoop1Sqoop1Sqoop2Sqoop2用于所有主用于所有主要要RDBMSRDBMS的的连接器连接器支持支持不支持解决方法:使用已在一下数据库不支持解决方法:使用已在一下数据库上执行测试的通用上执行测试的通用JDBCJDBC连接器:连接器:Microsoft SQL ServerMicrosof
5、t SQL Server、PostgreSQLPostgreSQL、MySQLMySQL和和OracleOracleKerberosKerberos安安全集成全集成支持支持不支持不支持数据从数据从RDBMSRDBMS传输传输至至HiveHive或或HBaseHBase支持支持不支持解决方法:按照此两步方法操作。不支持解决方法:按照此两步方法操作。将数据从将数据从RDBMSRDBMS导入导入HDFSHDFS在在HiveHive中使用相中使用相应的工具和命令(例如应的工具和命令(例如LOAD DATALOAD DATA语句),语句),手动将数据载入手动将数据载入HiveHive或或HBaseHBa
6、se功能功能Sqoop1Sqoop1Sqoop2Sqoop2数据从数据从HiveHive或或HBaseHBase传传输至输至RDBMSRDBMS不支持解决方法:按照此不支持解决方法:按照此两步方法操作。从两步方法操作。从HiveHive或或HBaseHBase将数据提取至将数据提取至HDFSHDFS(作为文本或(作为文本或AvroAvro文件)文件)使用使用SqoopSqoop将上一步的输出将上一步的输出导出至导出至RDBMSRDBMS不支持按照与不支持按照与Sqoop1Sqoop1相同的解决方法操作相同的解决方法操作3、Sqoop架构架构Sqoop2 架构相架构相对简单对简单,主要由三个部分
7、,主要由三个部分组组成:成:Sqoop client、HDFS/HBase/Hive、Database。Sqoop2 的架构的架构图图如下如下图图8-3所所示。示。8.1.2 Flume8.1.2 Flume简介简介1、Flume简简介介Flume是由是由Cloudera软软件公司开件公司开发发的日志收集系的日志收集系统统,具有分布,具有分布式,高可靠性,高可用性等特点,式,高可靠性,高可用性等特点,对对海量日志海量日志进进行采集,聚合行采集,聚合和和传输传输。Flume支持在日志系支持在日志系统统中定制各中定制各类类数据数据发发送方,同送方,同时时,Flume提供提供对对数据数据进进行行简单
8、处简单处理,并写到各种数据接收方理,并写到各种数据接收方(HDFS,HBase等)的能力。等)的能力。Flume 初始的初始的发发行版本目前被行版本目前被统统称称为为 Flume OG(original generation),重构后的版本),重构后的版本统统称称为为 Flume NG(next generation)。)。2、Flume的的优势优势 (1)Flume可以将可以将应应用用产产生的数据存生的数据存储储到到HDFS,HBase等集等集中存中存储储器中。器中。(2)当收集数据的速度超)当收集数据的速度超过过将写入数据的将写入数据的时时候,也就是当收候,也就是当收集信息遇到峰集信息遇到
9、峰值时值时,Flume会在数据生会在数据生产产者和数据收容器者和数据收容器间间做做出出调调整,保整,保证证其能其能够够在两者之在两者之间间提供平提供平稳稳的数据。的数据。(3)提供上下文路由特征。)提供上下文路由特征。(4)Flume的管道基于事的管道基于事务务,保,保证证了数据在了数据在传传送和接收送和接收时时的的一致性。一致性。(5)Flume是可靠的,容是可靠的,容错错性高的,可升性高的,可升级级的,易管理的,的,易管理的,并且可定制的。并且可定制的。3、Flume的的结结构构如下如下图图8-4所示,所示,Flume将数据从将数据从产产生、生、传输传输、处处理并最理并最终终写入写入目目标
10、标的路径的的路径的过过程抽象程抽象为为数据流,在具体数据流中,数据源支数据流,在具体数据流中,数据源支持在持在Flume中定制数据中定制数据发发送方,支持收集各种不同送方,支持收集各种不同协议协议数据。数据。同同时时,Flume提供提供对对数据的数据的简单处简单处理,比如理,比如过滤过滤,格式,格式转换转换等。等。此外,此外,Flume还还可将数据写往各种数据目可将数据写往各种数据目标标。由上由上图图可知,可知,Flume内部包括一个或者多个内部包括一个或者多个Agent,然而然而对对于每于每一个一个Agent来来说说,它就是一个独立的守它就是一个独立的守护进护进程程(JVM),它从客它从客户
11、户端端接收数据,或者从其他的接收数据,或者从其他的 Agent那接收那接收,然后迅速的将然后迅速的将获获取的数取的数据据传给传给下一个目的下一个目的节节点点sink或者或者agent。在在Flume中,中,Flume 运行的核心是运行的核心是 Agent。Flume以以agent为为最最小的独立运行小的独立运行单单位。每个位。每个agent中有三个核心中有三个核心组组件:件:Source,Channel和和Sink。外部。外部输输入称入称为为Source(源),系(源),系统输统输出称出称为为Sink(接收器),在(接收器),在Source和和Sink之之间传递间传递事件的一个事件的一个临时临
12、时存存储储区,称区,称为为Channel(通道)。(通道)。Agent的数据流模型如下的数据流模型如下图图8-5所示。所示。(1)Source:Source是数据的收集器,是数据的收集器,负责负责将数据捕将数据捕获获后后进进行特殊的格式化,行特殊的格式化,将数据封装到事件(将数据封装到事件(event)里,然后将事件推入里,然后将事件推入Channel中。中。Flume提供了很多内置的提供了很多内置的Source,支持支持 Avro,log4j,syslog 和和 http post(body为为json格式格式),可以,可以让应让应用程序同已有的用程序同已有的Source直接打交道,如直接打
13、交道,如AvroSource,SyslogTcpSource。如果。如果内置的内置的Source无法无法满满足需要,足需要,Flume还还支持自定支持自定义义Source。Source源源类类型如下表型如下表8-2所示。所示。表表8-2 Source8-2 Source源类型源类型SourceSource类型类型说明说明Avro SourceAvro Source支持支持AvroAvro协议(实际上是协议(实际上是Avro RPCAvro RPC),),内置支持内置支持Thrift SourceThrift Source支持支持ThriftThrift协议,内置支持协议,内置支持Exec So
14、urceExec Source基于基于UnixUnix的的commandcommand在标准输出上生产数在标准输出上生产数据据JMS SourceJMS Source从从JMSJMS系统(消息、主题)中读取数据,系统(消息、主题)中读取数据,ActiveMQActiveMQ已经测试过已经测试过Spooling Directory Spooling Directory SourceSource监控指定目录内数据变更监控指定目录内数据变更Twitter 1%firehose Twitter 1%firehose SourceSource通过通过APIAPI持续下载持续下载TwitterTwitte
15、r数据,试验性数据,试验性质质表表8-2 Source8-2 Source源类型源类型Netcat SourceNetcat Source监控某个端口,将流经端口的每一个文本行监控某个端口,将流经端口的每一个文本行数据作为数据作为EventEvent输入输入Sequence Sequence Generator Generator SourceSource序列生成器数据源,生成序列数据序列生成器数据源,生成序列数据Syslog SourceSyslog Source读取读取syslogsyslog数据,产生数据,产生EventEvent,支持,支持UDPUDP和和TCPTCP两种协议两种协议H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 采集
限制150内