Spark论文详解之-Spark Introduction

本文探讨了Spark诞生前专业处理系统存在的问题,如工作重复性、中间数据移动代价大、计算范围限制等。Spark通过引入弹性分布式数据集(RDD)解决了这些问题,RDD是一种适用于并行计算的抽象,提供了高效容错的内存共享,支持多种并行计算模型,如迭代算法、关联查询和MapReduce。此外,Spark的流处理模型D-Streams通过DAG实现容错和推测执行,处理批处理和流处理的组合。Spark代码量小,但性能与专业系统相当,且易于构建混合模型。
摘要由CSDN通过智能技术生成

1、专业处理系统的问题(本文所指专业系统均为Spark诞生之前)

  • 工作的重复性:正如分布式SQL引擎、机器学习引擎都需要执行并行聚合一样。单独的计算系统需要针对每个域重新解决如何并行聚合计算。这表现在工作分配和容错上便是重复的。这是很多专业计算系统的潜在问题。
  • 在执行组合计算上:多数情况下,大数据计算的数据量是很庞大的,而且在得到最终计算结果之前,通常是经过多个计算引擎管道式组合计算而来,这样就会产生大量的中间数据,现行解决方案是将这些数据输出到一个可复制的、稳定的存储系统,来实现多个计算引擎之间共享数据。问题就在这里,庞大数据的移动是代价巨大的。这个代价通常是一般计算的很多倍。
  • 计算范围的限制性:如果一个应用并不适用于该专业计算系统的计算模型,用户就必须修改该系统使应用能够使用,或者就是重写一套新的适合应用的运行系统。举个简单的例子,在有大量迭代计算的机器学习的应用中,Hadoop Mapreduce计算模型就不适用了。
  • 资源共享:在不同的计算引擎之间动态共享资源是很难的,原因在于,在应用申请资源期间,绝大多数计算引擎都假定他们拥有相同的一套机器。
  • 在管理上:与一套具有综合能力的统一系统相比,单独的系统所付出的管理和部署工作量是显著的,不止如此,用户还需要针对每个系统去学习他们的API和计算模型。
    基于以上限制,Spark诞生了,作为一个对于集群计算的统一抽象,无论是从可用性还是性能,特别是在复杂计算及多用户环境,其益处显著。

2、弹性分布式数据集RDD

为了解决以上问题,兼顾高效和容错性,RDD提供了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值