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))]