云计算与大数据技术 课件 第8章 数据采集工具和消息队列_第1页
云计算与大数据技术 课件 第8章 数据采集工具和消息队列_第2页
云计算与大数据技术 课件 第8章 数据采集工具和消息队列_第3页
云计算与大数据技术 课件 第8章 数据采集工具和消息队列_第4页
云计算与大数据技术 课件 第8章 数据采集工具和消息队列_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

数据采集概述大数据来源大数据主要来源于互联网公司、物联网设备、部分企业及政府部门的数据资源。在各行业海量的数据中,大约20%属于结构化数据,80%属于广泛存在于社交网络、物联网、电子商务等领域的非结构化数据。日志数据,如页面展示日志采集,采集页面浏览量(PageView,PV)和访客数(UniqueVisitors,UV);页面交互日志采集,采集用户的互动行为数据,量化获知用户的兴趣点和体验优化点等。8.1.2数据采集途径1.系统日志采集系统日志采集主要是指收集互联网应用平台、移动互联网平台、公司业务平台等日常产生的大量日志数据,供离线和在线的大数据分析系统使用的过程。常见的采集工具有Hadoop的Chukwa、Cloudera的Flume、Facebook的Scribe等。8.1.2数据采集途径2.互联网数据采集互联网数据采集是指通过网络爬虫或网站公开API等方式从网站上获取数据信息的过程。爬虫可分为通用爬虫(如百度、Google等通用搜素引擎)、自有爬虫、聚焦爬虫(如采用商业或开源爬虫工具爬取专业或研究领域数据)。8.1.2数据采集途径网站公开API:北京市公共数据开放平台、中国国家统计局网站等会提供公开的数据。8.1.2数据采集途径3.App移动端数据采集由于移动App实际上是通过HTTP与服务器进行交互的,因此可以采用抓包、Hook等方式完成数据的采集,也可以采用埋点技术完成数据采集。埋点是指在产品使用过程中,通过对用户事件的追踪,获取需要统计的用户数据,进而分析产品使用情况。针对一个手机端App来说,埋点有前端埋点、后端埋点(后端数据收集)两种方法。8.1.2数据采集途径4.数据服务机构数据采集数据服务机构通常具备规范的数据共享和交易渠道,提供大数据采集服务、大数据交易服务、大数据分析服务、大数据可视化服务、大数据安全服务等,8.1.2数据采集途径贵阳大数据交易所网站8.1.2数据采集途径中国国家统计局网站8.1.2数据采集途径5.企业大数据服务平台数据采集企业通过部署大数据服务平台,实现跨部门数据的传输、加载、清洗、转换和整合,以完成企业内部和外部的大数据采集工作。6.智能感知设备数据采集智能感知设备数据采集是指通过传感器、摄像头和其他智能终端自动地采集信号、图片或录像来获取数据。数据采集概述FlumeNGFlumeNG是一个高度可靠、可扩展且分布式的系统,用于收集、聚合和传输海量日志数据。使用FlumeNG可以将从多个服务器中获取的数据迅速移交给Hadoop。FlumeNG还可以用于接入和收集大规模的社交网络节点事件数据,如来自QQ、微信或淘宝等的数据。FlumeNG的基本架构Agent是FlumeNG的核心组件,它以事件(Event)的形式将数据从源头发送至目的地。FlumeNG的基本架构Agent主要组成部分包括Source、Channel、Sink;Flume数据传输的基本单元是Event。Agent主要组成部分Source负责接收各种类型、各种格式的数据,并将其传递给对应的Channel。Channel是一个位于Source和Sink之间的数据缓冲区。它从Source接收数据,并将其存储在内部缓冲区中,直到有Sink消费掉Channel中的数据。Sink不断地从Channel中拉取事件(Event),并批量地将它们从Channel中移除。随后,这些被移除的事件会被批量地写入存储系统、索引系统,或者被发送至另一个FlumeAgent进行处理。FlumeNG的基本架构Event是Flume数据传输的基本单元,是以“事件”的形式将数据从源头发送到目的地。每个Event由Header和Body两部分组成。数据迁移工具SqoopSqoop简介Sqoop(SQL-to-Hadoop)是一个将Hadoop和关系数据库中的数据相互转移的工具。它可以将一个关系数据库(如MySQL、Oracle、PostgresSQL等)中的数据导入Hadoop的HDFS、Hive和HBase中,也可以将HDFS的数据导入关系数据库中。Sqoop简介Sqoop的核心设计思想是利用MapReduce加快数据传输速度。Sqoop的工作机制是将导入或导出命令翻译成MapReduce程序,并在翻译出的MapReduce程序中对InputFormat和OutputFormat进行定制。Sqoop2架构Sqoop具有Sqoop1和Sqoop2两个版本,它们之间是完全不兼容的。Sqoop2架构在架构上,Sqoop2引入了SqoopServer,这是一个集中化的管理组件,可以方便地管理和调度各种Connector或其他的第三方插件。Sqoop2还引入了基于角色的安全机制,管理员可以在SqoopServer上配置不同的角色和权限,从而实现更细粒度的访问控制。流数据采集框架Kafka流数据采集框架KafkaKafka是一个分区的、多副本的、多订阅者的、基于ZooKeeper协调的分布式日志系统(也可以被当作消息队列-MQ系统)。Kafka可以用于高吞吐量的Web网站的浏览、搜索、单击等行为日志的收集处理,包括搜索日志、监控日志、访问日志和消息服务等。流数据采集框架Kafka基于Kafka消息队列的日志收集和处理系统基于Kafka消息队列的日志收集和处理系统流数据采集框架KafkaKafka是一种高吞吐量的分布式发布订阅消息系统,可以被视作⼀个消息队列。Kafka架构Kafka架构Kafka在保存消息时会根据Topic进行归类,将消息发送者称为Producer,将消息接收者称为Consumer。Kafka集群由多个Kafka实例组成,每个实例(server)都被称为Broker。无论是Kafka集群还是Producer和Consumer都依赖于ZooKeeper来保证系统可用性。Kafka架构Producer使用push模式将消息发布到Broker中,Consumer使用pull模式从Broker中订阅并消费消息。Kafka支持消息持久化,消费状态和订阅关系由客户端负责维护,且在消息消费完成后,不会将其立即删除,会保留历史消息。消息队列消息队列简介消息队列(MessageQueue,MQ)从广义上来说是一种消息队列服务中间件,提供一套完整的信息生产、传递和消费的软件系统。常见的MQ中间件有:RabbitMQ、RocketMQ、Kafka、ActiveMQ等。消息队列简介MQ是一种应用程序间的通信机制,与传统的远程调用(RPC)不同,它采用异步通信模式。MQ中间件是一个独立的应用程序,专门用于接收、存储、分发消息。消息队列简介两种主要的消息传递模式为点对点传递模式、发布-订阅传递模式。消息队列简介1.点对点传递模式点对点传递模式将消息持久化到一个队列中,此时将有一个或多个消费者消费队列中的数据,但是一条消息只能被消费一次。消息队列简介2.发布-订阅传递模式发布-订阅传递模式将消息持久化到一个Topic中。消费者可以订阅一个或多个Topic,并消费该Topic中所有的数据。同一条数据可以被多个消费者消费。消息队列作用1.程序间解耦在应用之间引入MQ,可以使应用之间的交互更改为通过MQ消息来触发,降低了应用之间的耦合度。只需上游系统发布消息和下游系统订阅消息即可。消息队列作用2.异步处理异步应用场景,如用户在Web应用或App上注册成功后,服务端需要给用户发送注册邮件和注册短信电商平台上完成订单支付后,后台服务需要扣减库存量、赠送优惠券、增加用户积分、修改订单状态、物流系统等。消息队列作用消息队列提供了一个异步通信机制,消息的发送者不必一直等到消息被成功处理后才返回,而是可以立即返回。消息队列作用3.削峰填谷在互联网电商的秒杀活动、团购抢单、店庆等超高并发场景中,后端服务可能来不及同步处理过多、过快的请求,就会导致请求堵塞,严重时可能因为高负荷运转而拖垮Web服务器。这样的突发流量并不常见,若为了处理这类峰值访问而投入资源来随时待命,则会造成巨大的浪费。此时,可以先将用户的秒杀请求作为消息存入消息队列中间件,然后由后端服务根据自身能力慢慢处理消息队列中的请求信息。消息队列作用消息队列作用4.消息通信消息队列系统通常内置了高效、可靠的通信机制,因此,除了主要的数据传输和任务处理功能,也可以用于实现纯消息通信。这种通信方式可以用于多种场景,如点对点通信或聊天室通信等。常见的消息队列1.RabbitMQRabbitMQ是一个由Erlang语言开发的AMQP(AdvancedMessageQueuingProtocol,高级消息队列协议)的开源实现,其本质是一套消息队列服务软件,本身支持很多协议,属于重量级消息队列,更适合企业级的开发。常见的消息队列RabbitMQ架构常见的消息队列2

温馨提示

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

评论

0/150

提交评论