Spark计算引擎
为大规模数据处理而设计的快速通用的计算引擎。
Spark计算引擎是美国加利福尼亚大学伯克利分校的算法、机器和人(algorithms machines and people,AMP)实验室所开源的Hadoop映射-化简(MapReduce)的通用并行框架。Spark拥有MapReduce所具有的优点,不同于MapReduce的是其工作中间输出结果可以保存在内存中,从而不再需要读写Hadoop分布式文件系统(Hadoop distributed file system,HDFS),因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark的核心概念是弹性分布式数据集(resilient distributed datasets,RDD)。从本质上来说,RDD是分布式内存的一个抽象概念,RDD提供了一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,只能通过在其他RDD执行确定的转换操作而创建,然而这些限制使得实现容错的开销很低。对开发者而言,RDD可以看作是Spark的一个对象,它本身运行于内存中,如读文件是一个RDD,对文件计算是一个RDD,结果集也是一个RDD,不同的分片、数据之间的依赖、键值类型的映射数据都可以看作RDD。
Spark已经形成了较为完整的生态圈,其中包括:Spark Core是Spark的核心应用程序接口(application program interface,API),实现了很多基本的RDD转换操作;Spark SQL是Spark针对结构化数据的API,能够使SQL对结构化数据进行标准分析;Spark Streaming是Spark针对流数据的API,可以实现对大规模数据流以元组为单位低延迟的处理;Spark MLib是Spark针对机器学习任务的API,可以有效地进行大规模迭代计算;Spark GraphX是Spark针对图数据的API。
免责声明:本站词条系由网友创建、编辑和维护,内容仅供参考。
以上内容均为商业内容展示,仅供参考,不具备专业问题解决服务,
如果您需要解决具体问题(尤其在法律、医学等领域),建议您咨询相关领域的专业人士。
如您发现词条内容涉嫌侵权,请通过 948026894@qq.com 与我们联系进行删除处理!