Spark Streaming实时流式大数据处理实战
(副标题):无 ;
(作者): 肖力涛 ;
内容简介:
3.1 RDD概述
对于大量的数据,Spark在内部保存计算的时候,都是用一种叫做弹性分布式数据集(Resilient Distributed Datasets,RDD)的数据结构来保存的,所有的运算以及操作都建立在RDD数据结构的基础之上。
在Spark开山之作Resilient Distributed Datasets:A Fault-Tolerant Abstraction for In-Memory Cluster Computing这篇paper中(以下简称RDD Paper),Matei等人提出了RDD这种数据结构,文中开头对RDD的定义是:
A distributed memory abstraction that lets programmers perform in-memory computations on large clusters in a fault-tolerant manner.
也就是说RDD设计的核心点为:
·内存计算;
·适合于计算机集群;
·有容错方式。
论文中阐述了设计RDD的难点在于如何提供有效的容错机制(Fault tolerance efficiently)。在以往的设计中,会将内存进行集群抽象,比如分布式共享内存、键值存储(Redis)和数据库等,这种方式是细粒度(fine-grained)的更新一个可变状态,相应的容错方式也需要进行机器间的数据复制和日志传输,这会加大网络开销和机器负担。
而RDD则使用了粗粒度的(coarse-grained)转换,即对于很多相同的数据项使用同一种操作(如map、filter、join)。这种方式能够通过记录RDD之间的转换从而刻画RDD的继承关系(lineage),而不是真实的数据,最终构成一个DAG(有向无环图),这种结构使得当发生RDD丢失时,能够利用上下图中的信
目录预览:
Spark Streaming实时流式大数据处理实战
第1篇 Spark基础
第1章 初识Spark
1.1 Spark由来
1.2 流式处理与Spark Streaming
1.2.1 流式处理框架
1.2.2 Spark Streaming初识
1.2.3 Structed Streaming简述
1.3 本章小结
第2章 Spark运行与开发环境
2.1 Spark的下载与安装
2.2 Spark运行模式
2.2.1 本地模式
2.2.2 本地集群模式
2.2.3 Standalone模式
2.2.4 Spark On Yarn模式
2.2.5 Spark On Mesos模式
2.3 搭建开发环境
2.3.1 修改配置
2.3.2 启动集群
........