跳转至

2018-2019-1期末

2016级

分布式模型与编程 (A卷)

一、单项选择题(每题2分,共10分)

  1. 以下哪一个系统不适合用于流计算( ) A. MapReduce B. Spark C. Storm D. Flink

  2. 分布式系统中常用的“选主”功能通常使用哪一个系统实现( ) A. MapReduce B. Yarn C. ZooKeeper D. Mesos

  3. 以下哪一项目带有文件系统( ) A. Hadoop B. MapReduce C. Spark D. Flink

  4. 以下哪个系统不能够编写机器学习程序( ) A. Spark B. Mahout C. Giraph D. 以上答案都不对

  5. 在批流融合系统中,以下哪个系统认为批处理被包含在流计算当中( ) A. Spark B. Flink C. Beam D. 以上答案都不对

二、判断题(每题2分,共10分,对的打√,错的打×)

  1. 类似于 Spark Streaming, Hadoop Streaming 提供了一个工具库使得MapReduce 程序能够支持流计算( )
  2. Giraph 利用了MapReduce 的API实现了图计算系统( )
  3. 与Spark、Storm不同,Flink 在批处理和流计算方面都能够做到完全流水线( )
  4. Yarn 和Mesos 都提供了统一的资源管理框架,简化了同一个集群部中多个系统的管理等工作( )
  5. 远程过程调用在分布式数据处理引擎中广泛使用( )

三、填空题(每题2分,共10分,中英文作答均可)

  1. Flink 采用了____技术作为容错保证机制。
  2. Spark 将计算过程划分为若干个Stage,在Stage 内部可以采用____机制在算子间进行数据的传输。
  3. 在 MapReduce 系统中, Map 和 Reduce二者之间数据传输的阶段称为____。
  4. 在 Storm 系统的架构中,作为主节点的部件的名称是____。
  5. 为了支持流计算,Spark Streaming 通过____模型将流计算转换为批处理。

四、简答题(每题5分,共25分)

  1. 结合示意图,描述广播变量的工作原理?
  2. 从语法、语义检查的角度,比较Flink系统中 SQL、Table、DataSet/DataStream 三类API之间的异同。
  3. 为什么 Storm 无法满足 exactly-once 的容错语义?
  4. 传统关系数据库的SQL并非定义在流数据上,Flink 为了进行流处理需要将流数据向表进行转换,请简述流表等价转换并进行SQL查询的工作原理。
  5. Mahout、GraphLab、Parameter Server 分别适合运行哪种类型的机器学习算法?

五、论述题(每题15分,共45分)

  1. 给定以下输入和WordCount程序,画出该程序在MapReduce 系统中的计算过程并简述该过程。 输入: I am a student in ECNU I study in DaSE daily DaSE is a school in ECNU 假设:

1)map的数量为3,每个map读取一句话;

2)无 combine()函数

3)reduce 的数量为2,划分函数 partition 如下: \(hash(word)=length(word) \pmod 2\) 其中 word是指单词,length()计算单词字符数

  1. 画出 MapReduce、Spark和Flink的迭代计算过程示意图,简述迭代计算的过程并比较异同之处。
  2. 画出 Lambda 架构图,简述各部件的功能并指出该架构的不足之处。