林子雨大数据技术原理与应用第八章课后题答案

上传人:人*** 文档编号:487434388 上传时间:2023-02-28 格式:DOCX 页数:10 大小:27.09KB
返回 下载 相关 举报
林子雨大数据技术原理与应用第八章课后题答案_第1页
第1页 / 共10页
林子雨大数据技术原理与应用第八章课后题答案_第2页
第2页 / 共10页
林子雨大数据技术原理与应用第八章课后题答案_第3页
第3页 / 共10页
林子雨大数据技术原理与应用第八章课后题答案_第4页
第4页 / 共10页
林子雨大数据技术原理与应用第八章课后题答案_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《林子雨大数据技术原理与应用第八章课后题答案》由会员分享,可在线阅读,更多相关《林子雨大数据技术原理与应用第八章课后题答案(10页珍藏版)》请在金锄头文库上搜索。

1、大数据第八章课后题答案流数据黎狸1. 试述流数据的概念。数据密集型应用流数据, 即数据以大量、快速、时变的流形式持 续到达。以传感监测为例,在大气中放置 PM2.5 传感器实时监测大气中的 PM2.5 的浓度,监测数据会源源不断地实时传输回数据中心,监测系统对回 传数据进行实时分析,预判空气质量变化趋势,如果空气质量在未来一段时 间内会达到影响人体健康的程度,就启动应急响应机制。2. 试述流数据的特点。 数据快速持续到达,潜在大小也许是无穷无尽的。 数据来源众多,格式复杂。 数据量大,但是不十分关注存储,一旦流数据中的某个元素经过处理, 要么被丢弃,要么被归档存储。 注重数据的整体价值,不过分

2、关注个别数据。 数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元 素的顺序。3. 在流计算的理念中,数据的价值与时间具备怎样的关系? 数据的价值随着时间的流逝而降低。4. 试述流计算的需求。 高性能。 处理大数据的基本要求, 如每秒处理几十万 条数据。 海量式。支持 TB 级甚至是 PB 级的数据规模。 实时性。必须保证-一个较低的延迟时间,达到秒级别,甚至是毫秒级别。 分布式。支持大数据的基本架构,必须能够平滑扩展。 易用性。能够快速进行开发和部署。 可靠性。能可靠地处理流数据。5. 试述 MapReduce 框架为何不适合用于处理流数据。(1)Hadoop 设计的初衷是面向大

3、规模数据的批量处理。批量任务的处理 方式,在时间延迟方面无法满足流计算的实时响应需求。(2)将 MapReduce 的批量处理转为小批量处理,将输入数据切成小的 片段,每隔一个周期启动一次 MapReduce 作业。此方法存在如下 问题: 切分成小的片段,虽然可以降低延迟,但是,也增加了任务处理的附加开销 而且还要处理片段之间的依赖关系,因为一个片段可能需要用到前一个 片段的计算结果。 需要对MapReduce进行改造以支持流式处理,Reduce阶段的结果不 能直接输出,而是保存在内存中;这种做法会大大增加 MapReduce 框 架的复杂度,导致系统难以维护和扩展; 降低了用户程序的可伸缩性

4、,因为,用户必须要使用MapReduce接口 来定义流式作业。6. 将基于 MapReduce 的批量处理转为小批量处理,每隔一个周期就启动一 次 MapReduce 作业,通过这样的方式来处理流数据是否可行?为什么?不可行。 切分成小的片段,虽然可以降低延迟,但是,也增加了任务处理的附加开销,而且还要处理片段之间的依赖关系;Reduce阶段的结果不能直接输出;降低了用户程序的可伸缩性。7. 列举几个常见的流计算框架。目前有三类常见的流计算框架和平台:商业级的流计算平台、开源流计算框架、公司为支持自身业务开发的流计算框架。(1) 商业级:IBM InfoSphere Streams 和 IBM

5、 StreamBase(2) 较为常见的是开源流计算框架,代表如下:Twitter Storm :免费、开源的分布式实时计算系统,可简单、高效、可靠地处理大量的流数据Yahoo! S4(Simple Scalable Streaming System):开源流计算平台,是通用的、分布式的、可扩展的、分区容错的、可插拔的流式系统(3) 公司为支持自身业务开发的流计算框架:Facebook PumaDstream (百度)银河流数据处理平台(淘宝)8. 试述流计算的一般处理流程。流计算的处理流程一般包含三个阶段:数据实时采集、数据实时计算、实时查询服务。数据实时采集9. 试述流计算流程与传统的数据

6、处理流程之间的主要区别。 传统数据处理的数据是旧的 ;查询传统数据处理的数据需要主动发出请 求。10. 试述数据实时采集系统的一般组成部分。 Agent: 主动采集数据,并把数据推送到 Collctor 部分。 Collector: 接收多个 Agent 的数据,并实现有序、可靠、高性能的转发。 Store: 存储 Collector 转发过来的数据。11. 试述流计算系统与传统的数据处理系统对所采集数据的处理方式有什么不 同。流处理系统处理的是实时的数据,而传统的数据处理系统处理的是预先 存储好的静态数据;用户通过流处理计算系统获取的是实时结果,而传统的数据处理系统获 取的是过去某一时刻的结

7、果。12. 试列举几个流计算的应用领域。 实时分析。购物网站,社交网站的推荐基于对用户行为的分析来实现。 实时交通。通过结合来自不同源的实时数据,生成动态的、多方位的观 察交通流量的方式,为城市规划者和乘客提供实时交通状况查询。13. 流计算适用于具备怎样特点的场景? 适合于具备需要处理持续到达的流数据、对数据处理有较高实时性要求 的场景。14. 试述流计算为业务分析带来了怎样的改变。 能在秒级别内得到实时的分析结果,有利于根据当前得到的分析结果及时地作出决策。15. 除了实时分析和实时交通,试再列举一个适 合采用流计算的应用场景,并 描述流计算可带来怎样的改变。以淘宝网“双十一”“双十二”的

8、促销活动为例,商家会在淘宝网上或 者在店铺内投放相应的广告来吸引用户,同时,商家也可能会准备多个广告 样式、文案,根据广告效果来做出调整,对对广告的点击情况、用户的访问 情况进行分析,基于实时分析,推荐的结果得到有效提升。16. 试述 Storm 框架如何改变开发人员开发实时应用的方式。以往开发人员在开发一个实时应用的时候,除了要关注处理逻辑,还要 为实时数据的获取、传输、存储大伤脑筋,但是,现在情况却大为不同。开发 人员可以基于开源流处理框架Storm,快速地搭建一套健壮、易用的实时流 处理系统,并配合 Hadoop 等平台,就可以低成本地做出很多以前很难想 象的实时产品。17. 为什么说使

9、用 Storm 流处理框架开发实时应用,其开发成本较低?Storm 是开源免费的,用户可以轻易进行搭建、使用,大大降低了学习 和使用成本。18. 试述 Twitter 采用的分层数据处理框架。实时系统和批处理系统组成的分层数据处理架构。19. 试列举几个Storm框架的主要特点。 整合性。Storm可方便地与队列系统和数据库系统进行整合。 简易的API。Storm的API在使用上即简单又方便。 可扩展性。Storm的并行特性使其可以运行在分布式集群中。 容错性。Storm可以自动进行故障节点的重启,以及节点故障时任务的 重新分配。 可靠的消息处理。Storm保证每个消息都能完整处理。 支持各种

10、编程语言。Storm支持使用各种编程语言来定义任务。 快速部署。Storm仅需要少量的安装和配置就可以快速进行部署和使用。 免费、开源。Storm是-款开源框架,可以免费使用。20. 试列举几个Storm框架的应用领域。实时分析、在线机器学习、持续计算、远程RPC等。21. Storm 的主要术语包括 St reams、Spouts、Bolts、Topology 和 St reamGroupings, 请分别简要描述这几个术语。Streams:是一个无限的Tuple序列。Spouts: Stream的源头抽象。Bolts: Streams 的状态转换过程。Topology: Spouts 和

11、Bolts 组成的网络。Stream Groupings:用于告知Topology如何在两个组件间进行Tuple 的传送。22. 试述Tuple的概念。Tuple 即元组,是元素的有序列表。23. 个Topology由哪些组件组成?Storm将Spouts和Bolts组成的网络抽象成Topology。24. 不同的Bolt之间如何传输Tuple?由 StreamGroupings 决定。25. 试列举几种St ream Groupings的方式。Shuffle Grouping:随机分组,随机分发Tuple。Fields Grouping: 按字段分组,有相同值的 Tuple 会被分发到对应的

12、 Bolt。All Grouping:广播分发,每个Tuple都会被分发到所有Bolt中。Global Grouping:全局分组,Tuple只会分发给一个Bolt。Non Grouping: 不分组,与随机分组效果类似。Direct Grouping:直接分组,由Tuple的生产者来定义接收者。26. 试述 MapReduce Job 和 Storm Topology 的区别和联系。Storm 运行在分布式集群中,其运行任务的方式与 Hadoop 类似:在 Hadoop 上运行的是 MapReduce 作业,而在 Storm 上运行的是 “Topology。 但两者的任务大不相同,其中主要的

13、不同是一个 MapReduce 作业最终会完成计算并结束运行,而一个 Topology 将持续 处理消息。27. Storm集群中的Master节点和Worker节点各自运行什么后台进程?这些 进程又分别负责什么工作?Storm集群采用“Master-Worker”的节点方式,其中,Master节点 运行名“Nimbus”的后台程序(类似Hadoop中的“JobTracker),负责在 集群范围内分发代码、为Worker分配任务和监测故障。每个Worker节点运行名为“Supervisor”的后台程序,负责监听分配 给它所在机器的工作,即根据Nimbus分配的任务来决定启动或停止Worker

14、进程。28. 试述Zookeeper在Storm框架中的作用。Storm采用了 Zookeeper来作为分布式协调组件,负责Nimbus和多个Supervisor 之间的所有协调工作。29. Nimbus进程和Supervisor进程都是快速失败(fail-fast)和无状态 (stateless)的,这样的设计有什么优点?一旦重启,两个进程借助Zookeeper将状态信息存放在Zookeeper 中或本地磁盘中进行恢复并继续工作。使Storm很稳定。30. Nimbus 进程或 Supervisor 进程意外终止后,重启时能否恢复到终止之前 的状态?为什么?Nimbus 进程或 Superv

15、isor 进程意外终止后,重启时可以恢复到终止 之前的状态。Master 节点并没有直接和 Worker 节点通信,而是借助 Zookeeper , 将状态信息存放在 Zookeeper 中或本地磁盘中,以便节点故障时进行快速 恢复。这意味着若Nimbus进程或Supervisor进程终止后,一旦进程重启, 它们将恢复到之前的状态并继续工作。这种设计使Storm极其稳定。31. 试述Storm框架的工作流程。客户端提交Topology到Storm集群中;.Nimbus将分配给Supervisor的任务写入Zookeeper;Supervisor从Zookeeper中获取所分配的任务,并启动Worker进程;Worker进程执行具体的任务。32. 试述Storm框架实现单词统计的一般流程。 从Spout中发送Stream; 用于分割单词的 Bolts 将接受的句子分解为独立的单词,将单词作为Tuple 的字段名发送出去; 用于计数的Bolts接受表示单词的Tuple,并对其进行统计; 输出每个单词以及单词出现过的次数。33. 试述采用MapReduce框架进行单词统计,与采用Storm框架进行单词统计, 有

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号