Spark:使用工作集的集群计算
文章目录 摘要 1. 简介 2. 编程模型 2.1 弹性分布式数据集(RDD) 2.2 并行操作 2.3 共享变量 3. 示例 3.1 文本搜索 3.2 逻辑回归 3.3 交替的最小二乘 4. 实现 4.1 共享变量 4.2 编译器集成 5. 成果 5.1 逻辑回归 5.2 交替的最小二乘 5.3 交互式Spark 6. 相关工作 6.1 分布式共享内存 6.2 集群计算框架 6.3 语言集成 6.4 血缘 7. 讨论及未来的工作 8. 致谢 参考文章 摘要 MapReduce及其变体在商业集群上实现大规模数据密集型应用方面非常成功。但是,大多数这些系统都是围绕非迭代数据流模型构建的,而这种模型不适合其他流行的应用程序。本文重点介绍这样一类应用:在多个并行操作中复用一个工作集数据的应用。这包括许多迭代机器学习算法,以及交互式数据分析工具。我们提出了一个支持这类应用的名为Spark的新框架,同时保留MapReduce的可伸缩性和容错性。为了实现这些目标,Spark引入了一种称为弹性分布式数据集(RDD)的抽象。RDD是分区分布在一组机器上的一个只读对象的集合,如果一个分区数据丢失后可以重建。在迭代机器学习任务中,Spark的性能超过Hadoop 10倍,并且交互式查询39 GB数据集可以亚秒响应时间。 1. 简介 一种新的集群计算模型已经变得广泛流行