下面是一个示例代码,展示了如何遍历字典RDD并将值分配给数据框列。
from pyspark.sql import SparkSession
from pyspark.sql.types import StringType, IntegerType, StructType, StructField
# 创建SparkSession
spark = SparkSession.builder.appName("RDD to DataFrame").getOrCreate()
# 创建字典RDD
dict_rdd = spark.sparkContext.parallelize([{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}])
# 定义数据框模式
schema = StructType([
StructField("name", StringType(), True),
StructField("age", IntegerType(), True)
])
# 将字典RDD转换为数据框
df = spark.createDataFrame(dict_rdd, schema)
# 显示数据框内容
df.show()
这段代码首先创建了一个SparkSession对象。然后,使用parallelize
方法创建了一个包含两个字典的字典RDD。接下来,定义了数据框的模式,其中包含了name
和age
两个列。最后,使用createDataFrame
方法将字典RDD转换为数据框,并通过show
方法显示了数据框的内容。
下一篇:遍历字典时出现问题