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
。
答案 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')>]