An Architecture for Fast and General Data Processing on Large Clusters

来源:https://code.csdn.net/CODE_Translation/spark_matei_phd
介绍

大型集群上的快速和通用数据处理架构

An Architecture for Fast and General Data Processing on Large Clusters

Matei Zaharia 著

CSDN CODE翻译社区 译

加州大学伯克利分校电气工程和计算机科学系技术报告

编号:UCB/EECS-2014-12

http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-12.html

CSDN CODE翻译社区项目地址:http://code.csdn.net/translations/15

摘要

《基于大型集群的快速通用数据处理架构》由 计算机科学博士Matei Alexandru Zaharia加州大学伯克利分校教授、主席Scott Shenker撰写

过去的几年中,计算系统经历着重大的变革,为了满足不断增长的数据量和处理速度需求,越来越多的应用向分布式系统扩展。如今,从互联网到企业运作,再到科技设备,不尽其数的数据源都在产生大量的、有价值的数据流。然而,单一的机器处理能力并没有跟上数据增长的速度,使得这些有价值的数据越来越难以被使用。以至于越来越多的组织——不仅仅是互联网公司,还有一些传统企业和研究室——迫切需要将他们重要的计算能力扩展到成百上千台机器上去。

在这同时,数据处理所需的速度和复杂性也在逐渐增加。在许多领域中,除了简单的查询,像机器学习和图分析这样的复杂算法也得到日益广泛的应用。另外,除了批量处理,一些组织还需要在实时数据源上进行流分析,以保证能够及时采取行动。未来的计算平台不仅需要能满足常规作业的扩展,同时也需要对新的应用有更好的支持。

针对上述的各种问题,本文提出了一种集群计算架构,能够解决这些新出现的数据处理作业的需求,同时还可以应对越来越大规模的扩展。虽然早期的集群计算系统,如MapReduce,已经能够进行批量处理,但我们的架构更支持流处理和交互查询,并且拥有和之前系统相同的可扩展性和容错性。然而当前所部署的大部分的系统仅支持简单的单路运算(例如,聚合或SQL查询),而我们的系统针更为复杂的分析(例如,机器学习的迭代算法)扩展到了对多路算法的支持。最后,与处理特定工作的专有系统不同的是,我们的架构允许这些算法相互结合,从而实现更丰富的新应用。例如,流处理和批量处理,或SQL和复杂分析之间的相互结合。

为了实现上述的各种特性,我们通过简单的扩展MapReduce,为其增加了数据共享原语,也就是所谓的弹性分布式数据集(RDDs)。我们发现,这样的扩展足以能够有效地覆盖大部分作业的需求。在开源的Spark系统中我们实现了RDDs,同时使用了模拟测试程序和真实的用户应用对其进行评估。在许多应用领域中,Spark已经接近或是超过了专有系统的性能,同时提供更强大的容错保证,并允许这些作业之间能够进行结合。我们从理论建模和实践的角度去探索RDDs的通用性,来解释为什么这样的扩展可以覆盖大范围的不同作业需求。

文档目录

0.1介绍

0.2版权声明

0.3译者名录

1第1章简介

1.1专业系统相关的问题

1.2弹性分布式数据集(RDDS)

1.3基于RDD机制实现的模型

1.4总结

1.5论文计划

2第二章弹性分布式数据集

2.1简介

2.2RDD概述

2.2.1概念

2.2.2Spark编程接口

2.2.3RDD模型的优点

2.2.4不适合RDDs的应用

2.3Spark编程接口

2.3.1Spark中RDD的操作

2.3.2应用示例##

2.4抽象RDDs

2.5实现

2.5.1作业调度

2.5.2多用户管理

2.5.3解析器集成

2.5.4内存管理

2.5.5检查点支持

2.6性能评估

2.6.1迭代式机器学习应用

2.6.2PageRank

2.6.3故障恢复

2.6.4内存不足的情况

2.6.5交互式数据挖掘

2.6.6实际应用

2.7讨论

2.7.1对现有编程模型的表达

2.7.2解释RDD表达能力

2.7.3利用RDD来调试

2.8相关工作

3第三章基于RDD的模型

3.1简介

3.2一些在RDDs上实现其他模型的技术

3.2.1RDDs里的数据格式

3.2.2关于不可变性

3.2.3实现自定义转换

3.3Shark:RDDs上的SQL

3.3.1动机

3.4实现

3.4.1列式内存存储

3.4.2数据协同划分

3.4.3局部DAG执行(PDE)

3.5性能

3.5.1方法和集群设置

3.5.2Pavlo等人的基准测试

3.5.3微基准测试

3.5.4容错

3.6与SQL相结合的复杂分析

3.6.1语言集成

3.6.2执行引擎集成

3.6.3性能

3.7总结

4第四章离散流

4.1简介

4.2目标与背景

4.3目标

4.3.1以往的处理模型

4.4离散流(D-Streams)

4.4.1计算模型

4.4.2时序方面的考虑

4.4.3D-StreamAPI

4.4.4一致性语义

4.4.5批处理与交互式处理的统一

4.4.6总结

4.5系统架构

4.5.1应用程序执行

4.5.2流处理优化

4.5.3内存管理

4.6故障和慢节点恢复

4.6.1并行恢复

4.6.2减缓慢结点的影响

4.6.3Master恢复

4.7评估

4.7.1性能

4.7.2故障和慢节点恢复

4.7.3实际应用

4.8讨论

4.9相关工作

4.10总结

5第五章RDD的通用性

5.1简介

5.2观点描述

5.2.1lineage和故障恢复

5.2.2与BSP的比较

5.3系统角度

5.3.1瓶颈资源

5.3.2容错的开销

5.4限制与扩展

5.4.1延迟

5.4.2通信模式

5.4.3异步

5.4.4细粒度更新

5.4.5不变性和版本追踪

5.5相关工作

6第六章总结

6.1经验总结

6.2更深远的影响

7参考文献

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值