PySpark实战:keyBy操作
来自CloudWiki
介绍
keyBy操作是一个变换算子,
它通过在RDD上应用函数func,其中将原有RDD中的元素作为value,该key通过func函数返回的值作为key创建一个元组,并返回一个新的RDD对象。
代码
import findspark findspark.init() ############################################## from pyspark.sql import SparkSession spark = SparkSession.builder \ .master("local[1]") \ .appName("RDD Demo") \ .getOrCreate(); sc = spark.sparkContext ############################################# rdd = sc.parallelize(range(0,3)) #[0, 1, 2] print(rdd.collect()) def f(x): #0, 1, 2 print(x) #0, 1, 4 return x * x rdd = rdd.keyBy(f) #[(0, 0), (1, 1), (4, 2)] print(rdd.collect()) ############################################## sc.stop()
输出
[0, 1, 2] 0 1 2 [(0, 0), (1, 1), (4, 2)]