大数据管理与应用概论 课件 4.2 实时数据获取方法_第1页
大数据管理与应用概论 课件 4.2 实时数据获取方法_第2页
大数据管理与应用概论 课件 4.2 实时数据获取方法_第3页
大数据管理与应用概论 课件 4.2 实时数据获取方法_第4页
大数据管理与应用概论 课件 4.2 实时数据获取方法_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.2实时数据获取方法实时数据获取方法概述实时数据获取方法主要应用于处理流数据的业务场景中。所谓流数据,就是将数据源执行的各种操作活动记录成为文件,且这些文件必须按指定格式进行记录。流数据web服务器上的用户访问行为web用户的财产记录网络监控的流量管理特点一:持续到达特点二:速度快特点三:规模大特点四:价值会随着时间流逝而不断降低强调“实时”,要求尽可能快地对最新的数据进行采集、分析并给出结果。不论是何种实时数据采集工具,其设计所遵循的基本框架及功能模块都大致相同。实时数据采集基本架构——架构设计实时数据采集工具的主架构基本分为数据读取器(Reader)、数据解析器(Parser)和数据发送器(Sender)三部分。由Reader、Parser、Sender等插件共同组装的业务数据采集单元称为一个运行单元(Runner),数据采集工具必须可以同时运行多个Runner,且每个Runner可以支持更新。除了这三个日志采集常规组成部分,还应该包含若干可选模块,如基于解析后的数据转换模块以及数据暂存管道等。ChannelReaderParserSenderTransformer实时数据采集基本架构——模块组成读取模块(Reader)

负责从不同数据源中读取数据。数据读取根据数据来源的不同,可大致分为三类。分别是:从文件读取、从数据存储服务端读取和从消息队列中读取。解析模块(Parser)

将数据源中读取的数据解析到对应的字段及类型,Parser将数据解析为带有Schema(具备字段名称及类型)的数据。数据转换模块(Transformer)Transformer是对Parser的补充,可以针对字段进行数据变化。数据暂存模块(Channel)经过解析和变换后的数据会进入待发送队列,Channel利用多核优势,多线程发送数据,提高数据吞吐量。数据发送模块(Sender)

将队列中的数据发送至Sender支持的各类服务,用户使用简单。具有多线程发送、错误处理与限时等待、数据压缩发送、类型转换等特点。实时数据采集工具——FlumeFlume由Apache公司开发,支持在系统中定制各类数据发送方,用于采集数据。Flume传输数据的基本单位是事件(Event),由外部数据源生成,流向最终目的地存储。Flume运行的核心是代理(Agent),Flume以Agent为最小的独立运行单位。Flume被设计为一个分布式的管道架构,相当于一个管道式的日志数据处理系统,可看作在数据源和目的地存储之间有一个Agent的网络。Flume在部署一个代理角色时,可通过代理直接采集数据,获取外部日志数据,再传输到目标存储HDFS中,如图所示。单Agent架构主要用于采集群内数据。SourceSinkChannelWebServerHDFSAgent实时数据采集工具——Flume从Flume架构的组成中,能体现出其主要具有以下四个特点:压缩加密支持复杂流传输可靠Flume级联节点之间的数据传输支持压缩加密,提升数据传输效率和安全性Flume支持扇入流和扇出流,扇入流即Source可以接收多个输入,扇出流即Sink可以将Event分流输出到多个目的地Flume使用事务性的方式保证传送事件整个过程的可靠性,意味着数据流里的Event无论是在一个Agent里还是在多个Agent之间流转,都能保证Event被成功存储起来数据过滤Flume支持第三方过滤插件调用,Flume在传输数据过程中,可以对数据简单过滤、清洗实时数据采集工具——KafkaKafka由雅虎公司开发,是一个分布式、支持分区的、多副本的、基于Zookeeper协调的分布式发布订阅消息系统,具有高水平扩展和高吞吐量。适用于日志收集、消息系统处理、用户活动跟踪、运营指标和流式处理等。Broker0Topic1/part1part2Topic2/part1Broker1Topic1/part1part2Topic2/part1Broker2Topic1/part1part2Topic2/part1Producer1Producer2Consumer1Consumer2Kafka由生产者、服务代理、消费者、分布式协调服务Zookeeper这几大构件组成,如图所示。其中Producer、Broker、Consumer都可以有多个,而引入Zookeeper可以极大地提高其扩展性。实时数据采集工具——Kafka从Kafka架构的组成中,能体现出其主要具有以下四个特点:高吞吐低延迟可扩展性持久可靠Kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒Kafka集群支持热扩展消息被持久化到本地磁盘,并且支持数据备份防止数据丢失容错性允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)高并发支持数千个客户端同时读写实时数据采集工具——ChukwaChukwa属于Apache的开源项目Hadoop系列下的一个产品。是构建在Hadoop的HDFS和Map/Reduce框架之上的,一个开源的大型分布式数据采集系统,支持Hadoop,使用Java语言。Chukwa提供了一种对大数据量日志类数据的采集、存储、分析和展示的全套解决方案和框架。Chukwa继承Hadoop的可伸缩性和鲁棒性,可以用于监控大规模(2000个以上节点,每天产生数据量在TB级别)Hadoop集群的整体运行情况,并对它们的日志进行分析。Chukwa旨在为分布式数据收集和大数据处理提供一个灵活、强大的平台,并能够与时俱进地利用更新的存储技术(如HDFS、HBase等)。实时数据采集工具——ChukwaChunkwa由Apache公司开发,从数据的产生、收集、存储、分析到展示的整个生命周期都提供了全面的支持,由适配器(Adapter)、代理(Agent)、收集器(Collector)、多路分配器(Demux)、存储系统和数据展示(HICC)组成。AgentCollectorDataHDFSDataSinkStructuredStorageMap-ReduceJobs实时数据采集工具——ScribeScribe是Facebook开源的日志采集系统,使用C/C++语言。Scribe能够从各种日志源上收集日志,存储到一个中央存储系统上,以便于进行集中统计分析处理。Scribe为日志的分布式收集、统一处理提供了一个可扩展的、高容错的方案。Scribe的架构由代理(Agent)、Scribe和中央存储系统组成中央存储系统数据日志AgentAgentAgentScribeScribe数据库HDFS实时数据采集工具——其他工具Fluentd工具Fluentd是数据采集任务的早期工具,Fluentd的可插拔架构支持各种不同种类和格式的数据源和数据输出,同时也提供了高可靠和很好的扩展性。Logstash工具Logstash是著名的开源数据栈ELK中的一个数据采集工具,用于接收、处理、转发日志,常作为日

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论