PySpark实战:zipWithIndex操作

来自CloudWiki
跳转至: 导航搜索

介绍

zipWithIndex操作是一个变换算子,

它的作用是将RDD中的元素作为Key,Key对应的元素索引作为Value ,

组合成元素格式为元组的新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(["a", "b", "c", "d"], 3)
#[('a', 0), ('b', 1), ('c', 2), ('d', 3)]
print(rdd.zipWithIndex().collect())
##############################################
sc.stop()

输出

[('a', 0), ('b', 1), ('c', 2), ('d', 3)]