1.Spark是基于内存计算的大数据计算平台,试述Spark的主要特点。
答:Spark具有如下4个主要特点:
①运行速度快;②容易使用;③通用性;④运行模式多样。
2.Spark的出现是为了解决Hadoop MapReduce的不足,试列举Hadoop MapReduce的几个缺陷,并说明Spark具备哪些优点。
答:
(1)Hadoop存在以下缺点:
①表达能力有限;②磁盘IO开销大;③延迟高
(2)Spark主要有如下优点:
①Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比MapReduce更灵活;
②Spark提供了内存计算,中间结果直接存放内存中,带来更高的迭代运算效率;
③Spark基于DAG的任务调度执行机制,要优于MapReduce的迭代执行机制。
3.美国加州大学伯克利分校提出的数据分析的软件栈BDAS认为目前的大数据处理可以分为哪三个类型?
答: ①复杂的批量数据处理:时间跨度通常在数十分钟到数小时之间;
②基于历史数据的交互式查询:时间跨度通常在数十秒到数分钟之间;
③基于实时数据流的数据处理:时间跨度通常在数百毫秒到数秒之间。
4.Spark已打造出结构一体化,功能多样化的大数据生态系统,试述Spark的生态系统。
答:Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐形成一套完整生态系统,既能够提供内存计算框架,也可以支持SQL即席查询、实时流式计算、机器学习和图计算等。Spark可以部署在资源管理器YARN之上,提供一站式的大数据解决方案。因此,Spark所提供的生态系统同时支持批处理、交互式查询和流数据处理。
5.从Hadoop Storm架构转向Spark架构可带来哪些好处?
答: (1)实现一键式安装和配置、线程级别的任务监控和告警;
(2)降低硬件集群、软件维护、任务监控和应用开发的难度;
(3)便于做成统一的硬件、计算平台资源池。
6.试述“Spark on YARN”的概念。
答:Spark可以运行与YARN之上,与Hadoop进行统一部署,即“Spark on YARN”,其架构如图所示,资源管理和调度用YARN,分布式存储则用HDFS。
7、试述如下Spark的几个主要概念:RDD、DAG、阶段、分区、窄依赖、宽依赖。
答:
① RDD:是弹性分布式数据集(Resilient Distributed Dataset)的英文缩写,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型。
② DAG:是Directed Acyclic Graph(有向无环图)的英文缩写,反映RDD之间的依赖关系。
③ 阶段:是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”,或者也被称为“任务集”。
④ 分区:一个RDD就是一个分布式对象集合,本质上是一个只读的分区记录集合,每个RDD可以分成多个分区,每个分区就是一个数据集片段。
⑤窄依赖:父RDD的一个分区只被一个子RDD的一个分区所使用就是窄依赖。
⑥ 宽依赖:父RDD的一个分区被一个子RDD的多个分区所使用就是宽依赖。
8、Spark对RDD的操作主要分为行动(Action)和转换(Transformation)两种类型,两种类型操作的区别是什么?
答:
行动(Action):在数据集上进行运算,返回计算值。
转换(Transformation):基于现有的数据集创建一个新的数据集。