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

发布时间 : 星期五 文章林子雨大数据技术原理与应用第八章课后题答案更新完毕开始阅读69b22dbed35abe23482fb4daa58da0116c171fc8

时地作出决策。

15. 除了实时分析和实时交通,试再列举一个适 合采用流计算的应用场景,并

描述流计算可带来怎样的改变。

以淘宝网“双十一”“双十二”的促销活动为例,商家会在淘宝网上或者在店铺内投放相应的广告来吸引用户,同时,商家也可能会准备多个广告样式、文案,根据广告效果来做出调整,对对广告的点击情况、用户的访问情况进行分析,基于实时分析,推荐的结果得到有效提升。 16. 试述Storm框架如何改变开发人员开发实时应用的方式。

以往开发人员在开发一个实时应用的时候,除了要关注处理逻辑,还要为实时数据的获取、传输、存储大伤脑筋,但是,现在情况却大为不同。开发人员可以基于开源流处理框架Storm,快速地搭建一套健壮、 易用的实时流处理系统,并配合Hadoop等平台,就可以低成本地做出很多以前很难想象的实时产品。

17. 为什么说使用Storm流处理框架开发实时应用,其开发成本较低?

Storm 是开源免费的,用户可以轻易进行搭建、使用,大大降低了学习和使用成本。

18. 试述Twitter采用的分层数据处理框架。

实时系统和批处理系统组成的分层数据处理架构。 19. 试列举几个Storm框架的主要特点。

① 整合性。Storm 可方便地与队列系统和数据库系统进行整合。 ② 简易的API。Storm的API在使用上即简单又方便。

③ 可扩展性。Storm 的并行特性使其可以运行在分布式集群中。

④ 容错性。Storm 可以自动进行故障节点的重启,以及节点故障时任务的

重新分配。

⑤ 可靠的消息处理。Storm保证每个消息都能完整处理。

⑥ 支持各种编程语言。Storm 支持使用各种编程语言来定义任务。 ⑦ 快速部署。Storm 仅需要少量的安装和配置就可以快速进行部署和使用。 ⑧ 免费、开源。Storm 是- -款开源框架,可以免费使用。 20. 试列举几个Storm框架的应用领域。

实时分析、在线机器学习、持续计算、远程RPC等。

21. Storm 的主要术语包括Streams、Spouts、 Bolts 、Topology 和Stream

Groupings, 请分别简要描述这几个术语。

Streams:是一个无限的Tuple序列。 Spouts: Stream 的源头抽象。 Bolts: Streams 的状态转换过程。 Topology: Spouts 和Bolts组成的网络。

Stream Groupings: 用于告知Topology如何在两个组件间进行Tuple的传送。

22. 试述Tuple的概念。

Tuple即元组,是元素的有序列表。

23. 一个Topology由哪些组件组成?

Storm将Spouts和Bolts组成的网络抽象成Topology。 24. 不同的Bolt之间如何传输Tuple?

由StreamGroupings决定。

25. 试列举几种Stream Groupings的方式。

Shuffle Grouping: 随机分组,随机分发Tuple。

Fields Grouping: 按字段分组,有相同值的Tuple会被分发到对应的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\。 但两者的任务大不相同,其中主要的不同是一个MapReduce作业最终会完成计算并结束运行,而一个Topology将持续处理消息。

27. Storm集群中的Master节点和Worker节点各自运行什么后台进程?这些

进程又分别负责什么工作?

Storm集群采用“Master-Worker” 的节点方式,其中,Master 节点运行名“Nimbus”的后台程序(类似Hadoop中的“JobTracker\负责在集群范围内分发代码、为Worker分配任务和监测故障。

每个Worker节点运行名为“Supervisor”的后台程序,负责监听分配给它所在机器的工作,即根据Nimbus分配的任务来决定启动或停止Worker进程。

28. 试述Zookeeper在Storm框架中的作用。

Storm采用了Zookeeper 来作为分布式协调组件,负责Nimbus和多个Supervisor 之间的所有协调工作。

29. Nimbus 进程和Supervisor 进程都是快速失败( fail-fast)和无状态

( stateless)的,这样的设计有什么优点?

一旦重启,两个进程借助Zookeeper将状态信息存放在Zookeeper 中或本地磁盘中进行恢复并继续工作。使Storm很稳定。

30. Nimbus 进程或Supervisor进程意外终止后,重启时能否恢复到终止之前

的状态?为什么?

Nimbus 进程或Supervisor进程意外终止后,重启时可以恢复到终止之前的状态。

Master节点并没有直接和Worker节点通信,而是借助Zookeeper ,将状态信息存放在Zookeeper中或本地磁盘中,以便节点故障时进行快速恢复。这意味着若Nimbus进程或Supervisor进程终止后,一旦进程重启,它们将恢复到之前的状态并继续工作。这种设计使Storm极其稳定。 31. 试述Storm框架的工作流程。

客户端提交Topology到Storm集群中; .

Nimbus将分配给Supervisor的任务写入Zookeeper;

Supervisor从Zookeeper中获取所分配的任务,并启动Worker进程; Worker进程执行具体的任务。

32. 试述Storm框架实现单词统计的一般流程。

① 从Spout中发送Stream;