二、创建 RDD
2.1 通用RDD
用户可以通过两种方式创建
RDD
:读取一个外部数据集。
lines = sc.textFile("xxx.md")
在
driver
程序中分发driver
程序中的对象集合(如list
或者set
)lines = sc.parallelize([1,3,55,1])
- 这种方式通常仅仅用于开发和测试。在生产环境中,它很少用。因为这种方式需要将整个数据集先放到
driver
程序所在的机器的内存中。
2.2 Pair RDD
键值对
RDD
的元素通常是一个二元元组(而不是单个值)- 键值对
RDD
也被称作Pair RDD
- 键值对
RDD
常常用于聚合计算 spark
为键值对RDD
提供了并行操作各个键、跨节点重新进行数据分组的接口
- 键值对
Pair RDD
的创建:通过对常规
RDD
执行转化来创建Pair RDD
- 我们从常规
RDD
中抽取某些字段,将该字段作为Pair RDD
的键
- 我们从常规
对于很多存储键值对的数据格式,当读取该数据时,直接返回由其键值对数据组成的
Pair RDD
当数据集已经在内存时,如果数据集由二元元组组成,那么直接调用
sc.parallelize()
方法就可以创建Pair RDD