spark之RDD(四)
来源:互联网 发布:韩国淘宝网站 编辑:程序博客网 时间:2024/06/05 05:38
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之RDD(四)
- spark基础知识之 spark RDD <四>
- Spark笔记四之RDD处理过程
- spark RDD算子(四)之创建键值对RDD mapToPair flatMapToPair
- Spark RDD API 参考示例(四)
- Spark入门(四):RDD基本操作
- Spark RDD算子【四】
- [Spark]Spark RDD 指南四 RDD操作
- Spark学习之RDD编程(2)
- spark源码之RDD(3)checkpoint
- spark之RDD
- spark之RDD
- Spark之RDD编程
- Spark之RDD基础
- spark之RDD
- Spark RDD之Partition
- Spark RDD之Dependency
- Spark RDD之Partitioner
- Codeforces Round #332 (Div. 2)C. Day at the Beach(好题,)
- C++11 利用const_cast和type_traits修改类成员常量的通用模板函数
- 重启压力测试APK
- 常见错误
- 祸兮福兮?--疏忽引发的学习机遇
- spark之RDD(四)
- Revit二次开发,VS中配置
- eclipse log过滤
- IOS开发相关链接
- QListWidget用法小结
- 网络安全资料
- Android 线程的C++封装,使用
- 学习笔记1:Struts 2框架的搭建
- python爬虫实战(关于工作中遇到的问题)