简述Spark生态的组成及其相关组件的作用。
答:spark生态组成的主要组件以及组件的作用分别是:
(1)spark core: 它是spark最基础,最核心的功能组件,是一种大数据分布式处理框架,建立在RDD之上,主要面向批处理,spark core负责如内存计算,任务调度,部署模式,故障恢复,存储管理等功能。它不仅实现了MapReduce的map函数和reduce函数及计算模型,还提供更多的其他算子。
(2) spark SQL: 该组件用于结构化数据处理,建立在Spark和Hive基础之上的数据仓库。它允许工作人员直接处理RDD,同时查询Hive和HBase等外部数据源。
(3)Spark Streaming: 该组件是一种流计算框架(进行实时计算的框架),支持高吞吐量,可容错处理的实时流数据处理,并提供丰富的API用于流数据计算。
(4)Structured Streaming: 该组件是基于spark SQL引擎构建起来的可扩展且容错的流数据处理引擎,它通过一致的API接口,是开发人员可以像写批处理程序一样写流数据处理程序,降低了开发难度。它同Spark Streaming本质上都是批处理。
(5)MLlib(机器学习): 该组件提供了spark常用的机器学习算