二、创建 RDD

2.1 通用RDD

  1. 用户可以通过两种方式创建RDD

    • 读取一个外部数据集。

      1. lines = sc.textFile("xxx.md")
    • driver 程序中分发driver 程序中的对象集合(如list 或者set

      1. lines = sc.parallelize([1,3,55,1])
      • 这种方式通常仅仅用于开发和测试。在生产环境中,它很少用。因为这种方式需要将整个数据集先放到driver 程序所在的机器的内存中。

2.2 Pair RDD

  1. 键值对RDD 的元素通常是一个二元元组(而不是单个值)

    • 键值对RDD 也被称作Pair RDD
    • 键值对RDD常常用于聚合计算
    • spark 为键值对RDD 提供了并行操作各个键、跨节点重新进行数据分组的接口
  2. Pair RDD 的创建:

    • 通过对常规RDD 执行转化来创建Pair RDD

      • 我们从常规RDD 中抽取某些字段,将该字段作为Pair RDD的键
    • 对于很多存储键值对的数据格式,当读取该数据时,直接返回由其键值对数据组成的Pair RDD

    • 当数据集已经在内存时,如果数据集由二元元组组成,那么直接调用sc.parallelize() 方法就可以创建Pair RDD