创建Pair RDD的方式有多种。
# 第一种创建方式:从文件中加载,然后转换为Pair RDD。
file = \"/spark_demo/wordcount/input/study.txt\"
lines = spark.sparkContext.textFile(file)
pairRDD = lines.flatMap(lambda line: line.split(\" \")).map(lambda word: (word,1))
pairRDD.collect()
# 第二种方式:通过并行集合创建Pair RDD
rdd = spark.sparkContext.parallelize([\"Hadoop\",\"Spark\",\"Hive\",\"Spark\"])
pairRDD = rdd.map(lambda word: (word,1))
pairRDD.collect()
# keyBy():自定义key的分组规则
a = spark.sparkContext.parallelize([\"black\", \"blue\", \"white\", \"green\", \"grey\"])
# 通过应用指定的函数来创建该RDD中元素的元组(参数函数生成对应的key),返回一个pair RDD
b = a.keyBy(lambda x:len(x))
b.collect()
# 或者,通过元组列表创建 pair rdd
pets = spark.sparkContext.parallelize([(\"cat\",1),(\"dog\",1),(\"cat\",2)])
pets.collect()