Apache spark 在通过rdd.collect()循环时创建新的Spark数据帧

Apache spark 在通过rdd.collect()循环时创建新的Spark数据帧,apache-spark,pyspark,apache-spark-sql,pyspark-dataframes,Apache Spark,Pyspark,Apache Spark Sql,Pyspark Dataframes,我有一个Spark数据帧df2。我正在为df2.rdd.collect()中的行执行: 询问如何帮助: 从df2中获取所有行,添加一个新列RESPONSE,并创建一个新的数据框df3 这就是两个数据帧的外观 您可以通过添加新字段RESPONSE来更新for循环中的每一行,以创建一个新的rdd3,从中创建数据帧df3: rdd3 = [] for row in df2.rdd.collect(): # other staff here api_response = 200 #

我有一个Spark数据帧
df2
。我正在为df2.rdd.collect()中的行执行

询问如何帮助:

df2
中获取所有行,添加一个新列
RESPONSE
,并创建一个新的数据框
df3

这就是两个数据帧的外观


您可以通过添加新字段
RESPONSE
来更新for循环中的每一行,以创建一个新的
rdd3
,从中创建数据帧
df3

rdd3 = []
for row in df2.rdd.collect():
    # other staff here
    api_response = 200  # set the one from Sharepoint
    rdd3.append(Row(**row.asDict(), RESPONSE=api_response))

df3 = spark.createDataFrame(rdd3, df2.columns + ["RESPONSE"])

df3.show()

#+------------+-------+------+-----------+--------+
#|PROGRAM_NAME| ACTION|VALUE1|     STATUS|RESPONSE|
#+------------+-------+------+-----------+--------+
#|       PROG1|ACTION1|    11|IN PROGRESS|     200|
#|       PROG2|ACTION2|    12|        NEW|     200|
#|       PROG3|ACTION1|    20|   FINISHED|     200|
#|       PROG4|ACTION4|    14|IN PROGRESS|     200|
#|       PROG5|ACTION1|    20|        NEW|     200|
#+------------+-------+------+-----------+--------+

获取错误类型错误:uuu call_uuuu()获取了一个意外的关键字参数“PROGRAM_NAME”@Avi我能够在spark(版本3和2.4)中运行此代码而没有任何错误。您是否在不添加逻辑的情况下尝试了此代码?在从pyspark.sql导入行调用后工作
rdd3 = []
for row in df2.rdd.collect():
    # other staff here
    api_response = 200  # set the one from Sharepoint
    rdd3.append(Row(**row.asDict(), RESPONSE=api_response))

df3 = spark.createDataFrame(rdd3, df2.columns + ["RESPONSE"])

df3.show()

#+------------+-------+------+-----------+--------+
#|PROGRAM_NAME| ACTION|VALUE1|     STATUS|RESPONSE|
#+------------+-------+------+-----------+--------+
#|       PROG1|ACTION1|    11|IN PROGRESS|     200|
#|       PROG2|ACTION2|    12|        NEW|     200|
#|       PROG3|ACTION1|    20|   FINISHED|     200|
#|       PROG4|ACTION4|    14|IN PROGRESS|     200|
#|       PROG5|ACTION1|    20|        NEW|     200|
#+------------+-------+------+-----------+--------+