欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第8章-大数据采集.pptx

    • 资源ID:77376602       资源大小:1.33MB        全文页数:33页
    • 资源格式: PPTX        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第8章-大数据采集.pptx

    第8章 大数据采集目 录1SqoopSqoop简介简介FlumeFlume简介简介KafkaKafka简介简介238.1.1 Sqoop8.1.1 Sqoop简介简介1、Sqoop简简介介Sqoop 的的产产生主要源于以下几种需求:生主要源于以下几种需求:(1)多数使用)多数使用 Hadoop技技术处术处理大数据理大数据业务业务的企的企业业,有大量的,有大量的数据存数据存储储在在传统传统的关系型数据的关系型数据库库(RDBMS)中。)中。(2)由于缺乏工具的支持,)由于缺乏工具的支持,对对Hadoop和和传统传统关系型数据关系型数据库库中中的数据的数据进进行相互行相互传输传输是一件十分困是一件十分困难难的事情。的事情。(3)基于前两个方面的考)基于前两个方面的考虑虑,因此需要一个在,因此需要一个在RDBMS与与 Hadoop之之间进间进行数据行数据传输传输的的项项目。目。8.1.1 Sqoop8.1.1 Sqoop简介简介Sqoop是是SQL to Hadoop的的缩缩写,是一款写,是一款Hadoop和关系数据和关系数据库库之之间进间进行批量数据迁移(行批量数据迁移(导导入、入、导导出)的工具,即可以将出)的工具,即可以将MySQL,Oracle等关系型数据等关系型数据库库中的数据中的数据导导入到入到 Hadoop的的HDFS、HIVE、HBASE 中,也可以将中,也可以将HDFS、HIVE、HBASE中的数据中的数据导导出到关系数据出到关系数据库库中,如下中,如下图图8-2所示。所示。Sqoop底底层层使用使用MapReduce程序程序实现实现抽取、抽取、转换转换和加和加载载操作,由于操作,由于MapReduce保保证证了并行性和高容了并行性和高容错错率,且任率,且任务执务执行在行在Hadoop集群上,所以通集群上,所以通过过Sqoop进进行数据迁移具有有很好的性能。行数据迁移具有有很好的性能。2、Sqoop版本版本目前有目前有sqoop1和和sqoop2两代版本,两代版本完全不同,且不兼两代版本,两代版本完全不同,且不兼容。容。sqoop1:1.4.x sqoop2:1.99.xsqoop2比比sqoop1的改的改进进主要有:主要有:(1)引入引入sqoop server,集中化管理,集中化管理connector等;等;(2)多种多种访问访问方式:方式:CLI,Web UI,REST API;(3)引入基于角色引入基于角色 的安全机制。的安全机制。功能功能Sqoop1Sqoop1Sqoop2Sqoop2用于所有主用于所有主要要RDBMSRDBMS的的连接器连接器支持支持不支持解决方法:使用已在一下数据库不支持解决方法:使用已在一下数据库上执行测试的通用上执行测试的通用JDBCJDBC连接器:连接器:Microsoft SQL ServerMicrosoft SQL Server、PostgreSQLPostgreSQL、MySQLMySQL和和OracleOracleKerberosKerberos安安全集成全集成支持支持不支持不支持数据从数据从RDBMSRDBMS传输传输至至HiveHive或或HBaseHBase支持支持不支持解决方法:按照此两步方法操作。不支持解决方法:按照此两步方法操作。将数据从将数据从RDBMSRDBMS导入导入HDFSHDFS在在HiveHive中使用相中使用相应的工具和命令(例如应的工具和命令(例如LOAD DATALOAD DATA语句),语句),手动将数据载入手动将数据载入HiveHive或或HBaseHBase功能功能Sqoop1Sqoop1Sqoop2Sqoop2数据从数据从HiveHive或或HBaseHBase传传输至输至RDBMSRDBMS不支持解决方法:按照此不支持解决方法:按照此两步方法操作。从两步方法操作。从HiveHive或或HBaseHBase将数据提取至将数据提取至HDFSHDFS(作为文本或(作为文本或AvroAvro文件)文件)使用使用SqoopSqoop将上一步的输出将上一步的输出导出至导出至RDBMSRDBMS不支持按照与不支持按照与Sqoop1Sqoop1相同的解决方法操作相同的解决方法操作3、Sqoop架构架构Sqoop2 架构相架构相对简单对简单,主要由三个部分,主要由三个部分组组成:成:Sqoop client、HDFS/HBase/Hive、Database。Sqoop2 的架构的架构图图如下如下图图8-3所所示。示。8.1.2 Flume8.1.2 Flume简介简介1、Flume简简介介Flume是由是由Cloudera软软件公司开件公司开发发的日志收集系的日志收集系统统,具有分布,具有分布式,高可靠性,高可用性等特点,式,高可靠性,高可用性等特点,对对海量日志海量日志进进行采集,聚合行采集,聚合和和传输传输。Flume支持在日志系支持在日志系统统中定制各中定制各类类数据数据发发送方,同送方,同时时,Flume提供提供对对数据数据进进行行简单处简单处理,并写到各种数据接收方理,并写到各种数据接收方(HDFS,HBase等)的能力。等)的能力。Flume 初始的初始的发发行版本目前被行版本目前被统统称称为为 Flume OG(original generation),重构后的版本),重构后的版本统统称称为为 Flume NG(next generation)。)。2、Flume的的优势优势 (1)Flume可以将可以将应应用用产产生的数据存生的数据存储储到到HDFS,HBase等集等集中存中存储储器中。器中。(2)当收集数据的速度超)当收集数据的速度超过过将写入数据的将写入数据的时时候,也就是当收候,也就是当收集信息遇到峰集信息遇到峰值时值时,Flume会在数据生会在数据生产产者和数据收容器者和数据收容器间间做做出出调调整,保整,保证证其能其能够够在两者之在两者之间间提供平提供平稳稳的数据。的数据。(3)提供上下文路由特征。)提供上下文路由特征。(4)Flume的管道基于事的管道基于事务务,保,保证证了数据在了数据在传传送和接收送和接收时时的的一致性。一致性。(5)Flume是可靠的,容是可靠的,容错错性高的,可升性高的,可升级级的,易管理的,的,易管理的,并且可定制的。并且可定制的。3、Flume的的结结构构如下如下图图8-4所示,所示,Flume将数据从将数据从产产生、生、传输传输、处处理并最理并最终终写入写入目目标标的路径的的路径的过过程抽象程抽象为为数据流,在具体数据流中,数据源支数据流,在具体数据流中,数据源支持在持在Flume中定制数据中定制数据发发送方,支持收集各种不同送方,支持收集各种不同协议协议数据。数据。同同时时,Flume提供提供对对数据的数据的简单处简单处理,比如理,比如过滤过滤,格式,格式转换转换等。等。此外,此外,Flume还还可将数据写往各种数据目可将数据写往各种数据目标标。由上由上图图可知,可知,Flume内部包括一个或者多个内部包括一个或者多个Agent,然而然而对对于每于每一个一个Agent来来说说,它就是一个独立的守它就是一个独立的守护进护进程程(JVM),它从客它从客户户端端接收数据,或者从其他的接收数据,或者从其他的 Agent那接收那接收,然后迅速的将然后迅速的将获获取的数取的数据据传给传给下一个目的下一个目的节节点点sink或者或者agent。在在Flume中,中,Flume 运行的核心是运行的核心是 Agent。Flume以以agent为为最最小的独立运行小的独立运行单单位。每个位。每个agent中有三个核心中有三个核心组组件:件:Source,Channel和和Sink。外部。外部输输入称入称为为Source(源),系(源),系统输统输出称出称为为Sink(接收器),在(接收器),在Source和和Sink之之间传递间传递事件的一个事件的一个临时临时存存储储区,称区,称为为Channel(通道)。(通道)。Agent的数据流模型如下的数据流模型如下图图8-5所示。所示。(1)Source:Source是数据的收集器,是数据的收集器,负责负责将数据捕将数据捕获获后后进进行特殊的格式化,行特殊的格式化,将数据封装到事件(将数据封装到事件(event)里,然后将事件推入里,然后将事件推入Channel中。中。Flume提供了很多内置的提供了很多内置的Source,支持支持 Avro,log4j,syslog 和和 http post(body为为json格式格式),可以,可以让应让应用程序同已有的用程序同已有的Source直接打交道,如直接打交道,如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 SourceExec Source基于基于UnixUnix的的commandcommand在标准输出上生产数在标准输出上生产数据据JMS SourceJMS Source从从JMSJMS系统(消息、主题)中读取数据,系统(消息、主题)中读取数据,ActiveMQActiveMQ已经测试过已经测试过Spooling Directory Spooling Directory SourceSource监控指定目录内数据变更监控指定目录内数据变更Twitter 1%firehose Twitter 1%firehose SourceSource通过通过APIAPI持续下载持续下载TwitterTwitter数据,试验性数据,试验性质质表表8-2 Source8-2 Source源类型源类型Netcat SourceNetcat Source监控某个端口,将流经端口的每一个文本行监控某个端口,将流经端口的每一个文本行数据作为数据作为EventEvent输入输入Sequence Sequence Generator Generator SourceSource序列生成器数据源,生成序列数据序列生成器数据源,生成序列数据Syslog SourceSyslog Source读取读取syslogsyslog数据,产生数据,产生EventEvent,支持,支持UDPUDP和和TCPTCP两种协议两种协议HTTP SourceHTTP Source基于基于HTTP POSTHTTP POST或或GETGET方式的数据源,支持方式的数据源,支持JSONJSON、BLOBBLOB表示形式表示形式Legacy SourceLegacy Source兼容老的兼容老的Flume OGFlume OG中中SourceSource(0.9.x0.9.x版本)版本)(2)Channel:Channel是是连连接接Source和和Sink的的组组件,大家可以将它看做一个件,大家可以将它看做一个数据的数据的缓缓冲区冲区(数据数据队队列列),它可以将事件,它可以将事件暂暂存到内存中也可以持存到内存中也可以持久化到本地磁久化到本地磁盘盘上,上,直到直到Sink处处理完理完该该事件。它在事件。它在source和和sink间间起着一座起着一座桥桥梁的作用,梁的作用,channal是一个完整的事是一个完整的事务务,这这一一点保点保证证了数据在收了数据在收发发的的时时候的一致性候的一致性.并且它可以和任意数量的并且它可以和任意数量的source和和sink进进行行链链接。支持的接。支持的类类型有型有:JDBC channel,File System channel,Memort channel等,如下表等,如下表8-3所示。所示。表表8-3 Channel支持支持类类型型ChannelChannel类型类型说明说明Memory ChannelMemory ChannelEventEvent数据存储在内存中数据存储在内存中JDBC ChannelJDBC ChannelEventEvent数据存储在持久化存储中,当前数据存储在持久化存储中,当前Flume Flume ChannelChannel内置支持内置支持DerbyDerbyFile ChannelFile ChannelEventEvent数据存储在磁盘文件中数据存储在磁盘文件中Spillable Memory Spillable Memory ChannelChannelEventEvent数据存储在内存中和磁盘上,当内存队数据存储在内存中和磁盘上,当内存队列满了,会持久化到磁盘文件(当前实验性的,列满了,会持久化到磁盘文件(当前实验性的,不建议生产环境使用)不建议生产环境使用)Pseudo Pseudo Transaction Transaction ChannelChannel测试用途测试用途Custom ChannelCustom Channel自定义自定义ChannelChannel实现实现(3)Sink:Sink将数据存将数据存储储到集中存到集中存储储器比如器比如Hbase和和HDFS,它从,它从channals消消费费数据数据(events)并将其并将其传递给传递给目目标标地,目地,目标标地可能是地可能是另一个另一个sink,也可能,也可能HDFS,HBase。Sink支持支持类类型如下表型如下表8-4所所示。示。表表8-4 Sink支持支持类类型型SinkSink类型类型说明说明HDFS SinkHDFS Sink数据写入数据写入HDFSHDFSLogger SinkLogger Sink数据写入日志文件数据写入日志文件Avro SinkAvro Sink数据被转换为数据被转换为Avro Event,Avro Event,然后发送到配然后发送到配置的置的RPCRPC端口上端口上Thrift SinkThrift Sink数据被转换为数据被转换为Thrift Event,Thrift Event,然后发送到然后发送到配置的配置的RPCRPC端口上端口上IRC SinkIRC Sink数据在数据在IRCIRC上进行回放上进行回放File Roll SinkFile Roll Sink存储数据到本地文件系统存储数据到本地文件系统表表8-4 Sink支持支持类类型型Null SinkNull Sink丢弃到所有数据丢弃到所有数据HBase SinkHBase Sink数据写入数据写入HBaseHBase数据库数据库Morphline Solr Morphline Solr SinkSink数据发送到数据发送到SolrSolr搜索服务器(集群)搜索服务器(集群)ElasticSearch SinkElasticSearch Sink数据发送到数据发送到Elastic SearchElastic Search搜索服务搜索服务器(集群)器(集群)Kite Dataset SinkKite Dataset Sink写数据到写数据到Kite DatasetKite Dataset,试验性质的,试验性质的Custom SinkCustom Sink自定义自定义SinkSink实现实现除了以上除了以上FlumeFlume组件,接下来简单介绍下组件,接下来简单介绍下FlumeFlume的插件。的插件。(1 1)InterceptorsInterceptors拦截器拦截器 用于用于sourcesource和和channelchannel之间,用来更改或者检查之间,用来更改或者检查FlumeFlume的的eventsevents数据。数据。(2 2)管道选择器)管道选择器 channels Selectors channels Selectors 多管道是被用来选择使用哪一条管道来传递数据多管道是被用来选择使用哪一条管道来传递数据(events)(events),管道选择器又分为如下两种,管道选择器又分为如下两种:默认管道选择器,每一个管道传递的都是相同的默认管道选择器,每一个管道传递的都是相同的eventsevents。多路复用通道选择器,依据每一个多路复用通道选择器,依据每一个eventevent的头部的头部headerheader的地址的地址选择管道。选择管道。(3 3)sinksink线程线程 用于激活被选择的用于激活被选择的sinkssinks群中特定的群中特定的sinksink,用于负载均衡。,用于负载均衡。4 4、Flume Flume 事件事件 事件是事件是FlumeFlume内部数据传输的最基本单元,它是由一个转载内部数据传输的最基本单元,它是由一个转载数据的字节数组数据的字节数组(该数组是从数据源接入点传入,并传输给传输该数组是从数据源接入点传入,并传输给传输器,也就是器,也就是HDFS/HBase)HDFS/HBase)和一个可选头部构成。和一个可选头部构成。8.1.3 Kafka8.1.3 Kafka简介简介Kafka最初由最初由Linkedin公司开公司开发发,是一个分布式、支持分区的、,是一个分布式、支持分区的、多副本的,基于多副本的,基于zookeeper协调协调的分布式消息系的分布式消息系统统,用,用Scala语语言言编编写,主要写,主要应应用用场场景是日志收集系景是日志收集系统统和消息系和消息系统统。Linkedin于于2010年年贡贡献献给给了了Apache基金会并成基金会并成为顶级为顶级开源开源项项目。目。kafka使用使用“主主题题”(topics)来)来维护维护不同的消息分不同的消息分组组。向主。向主题发题发布消息的布消息的进进程被称程被称为为“生生产产者者”(producers)。)。订阅订阅主主题题、处处理理被被发发布的消息的布的消息的进进程被称程被称为为“消消费费者者”(consumers)。)。1、特性:、特性:(1)高吞吐量、低延)高吞吐量、低延迟迟:kafka每秒可以每秒可以处处理几十万条消息,理几十万条消息,它的延它的延迟迟最低只有几毫秒,每个最低只有几毫秒,每个topic可以分多个可以分多个partition,consumer group 对对partition进进行行consume操作。操作。(2)可)可扩扩展性:展性:kafka集群支持集群支持热扩热扩展。展。(3)持久性、可靠性:消息被持久化到本地磁)持久性、可靠性:消息被持久化到本地磁盘盘,并且支持数,并且支持数据据备备份防止数据份防止数据丢丢失。失。(4)容)容错错性:允性:允许许集群中集群中节节点失点失败败(若副本数量(若副本数量为为n,则则允允许许n-1个个节节点失点失败败)。)。(5)高并)高并发发:支持数千个客:支持数千个客户户端同端同时读时读写写2、使用、使用场场景景(1)日志收集:一个公司可以用)日志收集:一个公司可以用Kafka可以收集各种服可以收集各种服务务的的log,通,通过过kafka以以统统一接口服一接口服务务的方式开放的方式开放给给各种各种consumer,例,例如如hadoop、Hbase、Solr等。等。(2)消息系)消息系统统:解耦和生:解耦和生产产者和消者和消费费者、者、缓缓存消息等。存消息等。2、使用、使用场场景景(3)用)用户户活活动动跟踪:跟踪:Kafka经经常被用来常被用来记录记录web用用户户或者或者app用用户户的各种活的各种活动动,如,如浏览浏览网网页页、搜索、点、搜索、点击击等活等活动动,这这些活些活动动信息被各个服信息被各个服务务器器发发布到布到kafka的的topic中,然后中,然后订阅订阅者通者通过订过订阅这阅这些些topic来做来做实时实时的的监监控分析,或者装控分析,或者装载载到到hadoop、数据、数据仓仓库库中做离中做离线线分析和挖掘。分析和挖掘。(4)运)运营营指指标标:Kafka也也经经常用来常用来记录记录运运营监营监控数据。包括收控数据。包括收集各种分布式集各种分布式应应用的数据,生用的数据,生产产各种操作的集中反各种操作的集中反馈馈,比如,比如报报警和警和报报告。告。3 3、设计原理、设计原理 Kafka Kafka的设计初衷是希望作为一个统一的信息收集平台,能的设计初衷是希望作为一个统一的信息收集平台,能够实时的收集反馈信息,并需要能够支撑较大的数据量够实时的收集反馈信息,并需要能够支撑较大的数据量,且具备且具备良好的容错能力。良好的容错能力。(1 1)持久性)持久性(2 2)性能)性能(3 3)生产者)生产者(4 4)消费者)消费者(5 5)消息传送机制)消息传送机制4 4、KafkaKafka可以和可以和FlumeFlume结合使用结合使用大数据的采集层可以同时使用大数据的采集层可以同时使用Flume,KafkaFlume,Kafka两种技术。两种技术。Flume Flume 是管道流方式,提供了很多的默认实现,让用户通是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展过参数部署,及扩展APIAPI。比较适合有多个生产者的场景,或者。比较适合有多个生产者的场景,或者有写入有写入HbaseHbase、HDFSHDFS和和kafkakafka需求的场景。需求的场景。KafkaKafka是一个可持久化的分布式的消息队列。由于是一个可持久化的分布式的消息队列。由于KafkaKafka是是PullPull模式,因此适合有多个消费者的场景。模式,因此适合有多个消费者的场景。FlumeFlume和和KafkaKafka可以很好地结合起来使用。如果你需要从可以很好地结合起来使用。如果你需要从KafkaKafka流流数据到数据到HadoopHadoop,可以将,可以将FlumeFlume代理和代理和KafkaKafka源一起使用来读取数源一起使用来读取数据,没有必要实现自己的消费者。通常会使用据,没有必要实现自己的消费者。通常会使用Flume+KafkaFlume+Kafka的的方式。方式。谢 谢

    注意事项

    本文(第8章-大数据采集.pptx)为本站会员(可****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开