spark之RDD(四)

原创 2015年11月21日 11:39:54

7.Spark一切都以RDD为基础

RDD resilient distributed dataset

 弹性分布式数据集

--a list of partitions 

分区列表

--a function for computing each split

计算每个切片的函数

--a list of dependencies on other rdds 

对其他RDD的依赖列表

--optionally, a partitioner for key-valuerdds

对key-value类型的RDD的分区器

                   (e.g.to say that the rdd is hash-partitioned)

--optionally,a list of preferred locationsto compute each split on

      每个数据切片的预定义地址              

                   (e.g.block locations for an hdfs file)

8. spark  runtime

使用Spark,开发者需要编写一个Driver程序,连接到集群以运行Worker如下所示。Driver定义了一个或多个RDD,并调用RDD上的动作。Worker是长时间的运行的进程,将RDD分区以java对象的形式缓存在内存中。

 

流程示意

分布式文件系统 --加载数据集--  transformation  --action触发执行-- action

transformation 是懒加载模式,执行action才会真正执行

rdd可以从集合直接转换而来,也可以由先现存的任何hadoop inputformat而来,亦或者hbase等等

9.RDD创建的方式

Parallelized Collections(并行集合)

valdata=Array(1,2,3,4,5)
valdistData=sc.parallelize(data)

External Datasets(外部数据集)

scala>valdistFile=sc.textFile("data.txt")
distFile:RDD[String]=MappedRDD@1d4cee08

变量名.toDebugString 查看多少RDD

10.延迟执行与执行的方法

11.Spark的高容错机制lineage

基于DAG图,lineage是轻量级而高效的:


操作之间相互具备lineage的关系,每个操作只关心其父操作,各个分片的数据之间互不影响,出现错误的时候只要恢复单个Split的特定部分即可:


每个RDD都会记录自己依赖于那个RDD,万一某个RDD的某些partition挂了,可以通过其他RDD并行计算迅速恢复回来。

12.宽依赖与窄依赖



相关文章推荐

大数据:Spark Core(四)用LogQuery的例子来说明Executor是如何运算RDD的算子

1. 究竟是怎么运行的?很多的博客里大量的讲了什么是RDD, Dependency, Shuffle... 但是究竟那些Executor是怎么运行你提交的代码段的?下面是一个日志分析的例子,来自Spa...

Spark笔记四之RDD处理过程

spark任务调度
  • ty4315
  • ty4315
  • 2017年05月02日 22:19
  • 215

Spark RDD API 参考示例(四)

Spark RDD API 参考示例详解,Spark RDD 快速入门,Spark RDD 详解

spark学习四 RDD转换是什么以及任务的运行

准备 1.   spark已经安装完毕 2.   spark运行在local mode或local-cluster mode local-cluster mode local-cluste...

Spark1.4.1 RDD算子详解

  • 2017年03月02日 09:24
  • 4.64MB
  • 下载

spark RDD 论文

  • 2016年09月09日 11:55
  • 1.02MB
  • 下载

spark RDD算子(四)之创建键值对RDD mapToPair flatMapToPair

mapToPair举例,在F:\sparktest\sample.txt 文件的内容如下 aa bb cc aa aa aa dd dd ee ee ee ee ff aa bb zks ee k...
  • T1DMzks
  • T1DMzks
  • 2017年04月19日 00:01
  • 5266

Spark学习--RDD编码

  • 2017年05月09日 14:07
  • 10KB
  • 下载

Learning Spark - 第三章 RDD编程

  • 2015年09月27日 22:01
  • 608KB
  • 下载

Spark RDD/Core 编程 API入门系列 之rdd案例(map、filter、flatMap、groupByKey、reduceByKey、join、cogroupy等)(四)

Spark RDD/Core 编程 API入门系列 之rdd案例(map、filter、flatMap、groupByKey、reduceByKey、join、cogroupy等)(四)  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spark之RDD(四)
举报原因:
原因补充:

(最多只允许输入30个字)