如何在PySpark中将RDD列表转换为RDD行

时间:2020-08-17 02:18:56

标签: apache-spark pyspark apache-spark-sql rdd

rdd = spark.sparkContext.parallelize(['a1', 'a2', 'a3', 'a4', 'a5', ])

# convert to as follows
..., ...
..., ...

# show result
rdd.collect()
[Row(col='a1'), Row(col='a2'), Row(col='a3'), Row(col='a4'), Row(col='a5'), ]

我知道在Java Spark中我们可以使用Row,但不能在PySpark中实现。
那么,最合适的实现方式是什么?将其转换为dict,然后将其转换为rdd

1 个答案:

答案 0 :(得分:1)

然后导入Row包。

rdd = spark.sparkContext.parallelize(['a1', 'a2', 'a3', 'a4', 'a5', ])
from pyspark.sql import Row 

rdd.map(lambda x: Row(x)).collect()

[<Row('a1')>, <Row('a2')>, <Row('a3')>, <Row('a4')>, <Row('a5')>]