PySpark实战:join操作
来自CloudWiki
介绍
join操作是一个变换算子,
调用形式为rdd.join(otherRDD,numPartitions=None)
它返回一个RDD,其中包含自身和otherRDD匹配键的所有成对元素。
每队元素将以(k,(v1,v2))元组返回,其中(k,v1)在自身中,而(k,v2)在另一个otherRDD中。
代码
import findspark findspark.init() ############################################## from pyspark.sql import SparkSession spark = SparkSession.builder \ .master("local[1]") \ .appName("RDD Demo") \ .getOrCreate(); sc = spark.sparkContext ############################################# x = sc.parallelize([("a", 1), ("b", 4)]) y = sc.parallelize([("a", 2), ("a", 3)]) ret = x.join(y).collect() #[('a', (1, 2)), ('a', (1, 3))] print(ret) ############################################## sc.stop()
输出
[('a', (1, 2)), ('a', (1, 3))]