RDD(Resilent Distributed Dataset)
Resilent对丢失节点,丢失数据集的修复
Distributed分布式,运行在不同节点上
Dataset数据集
RDD是spark最基本的抽象,是不可变的(每个RDD生成后就不再改变,所有的操作都是生成一个新的RDD,因为是并行化计算,如果在原有基础上进行修改,那么不得不浪费时间在同步通信上)
可以进行分割的,
分割后的数据集可以并行运算的。
支持的操作有map,filter,persist。
PairRDDFunctions
DoubleRDDFunctions
SequenceFIleRDDFunctions
RDD特性(面试必备):
- A list of partitions 数据可分成split1,split2
- Function for each splits 对被分割的splits每一个都进行运算,programmer不需要知道是如何划分的
- A list of other dependencies: rdd1 -》 rdd2 -》 rdd3 -》rdd4 RDD会保存一份依赖关系,当数据丢失的时候可以追踪溯源到上一个节点进行重新计算,也是弹性的基础保障
- 可选 Partitioner for Key-value RDD
- 可选 a list of prefferd locations:移动数据不如移动计算,为什么会有多个location,因为数据也是多份拷贝的
一个partition(split)是一个task
<
Pyspark的RDD是其基本抽象,是不可变的分布式数据集,支持map、filter等操作。RDD具有分区、依赖关系等特性,用于实现弹性。SparkContext是主入口点,连接到Spark集群。RDD操作包括转换(lazy计算)和行动(触发计算)。常见操作如map、filter、reduceByKey等,可用于词频统计、平均年龄计算等场景。生产中常使用YARN或Standalone模式运行。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



