spark - RDD梳理
1.RDD是什么?
RDD源码中的五个特性:弹性的,分布式的,不可变的,支持并行化操作,可以分区的数据集
五个主要属性:
- 1个rdd可以有多个partition
- 如果对1个rdd作用于一个function,其实是对里面的每个split做function,1个split就是一个partition
- rdd间是有一系列依赖的,例如:
- (可选)对于(groupbykey)有一个Hashpartition对应于key-value类型的rdd,sortbykey对应一个range-partitioned
- (可选)每个split都有一个优先推荐的locations list (注意这里是复数,why?)
2.RDD的创建方式:
- 从已存在的集合创建,sc.parallize(集合对象,分区数)
- 基于文件创建(本地,hdfs,s3上的文件),如果是本地文件,分布式环境执行的时候,要保证每个机器上都有这个文件
3.spark读写文件api:
sc.textFile sc.sequenceFile sc.wholeTextFiles sc.newAPIHadoop sc.newAPIHadoopRDD sc.hadoopRDD rdd.saveAsObjectFile
4.RDD的基本操作
转换,action等
相关推荐
Johnson0 2020-07-28
Hhanwen 2020-07-05
zhixingheyitian 2020-05-29
Oeljeklaus 2020-05-29
Hhanwen 2020-05-29
zhixingheyitian 2020-05-28
粗茶淡饭 2020-05-27
Hhanwen 2020-05-04
Hhanwen 2020-05-03
Oeljeklaus 2020-04-19
yanqianglifei 2020-02-22
yanqianglifei 2020-02-20
Kwong 2020-02-20
Johnson0 2020-02-01
hell0kitty 2020-01-25