如何在 PySpark 中将 RDD 列表转换为 RDD 行
How to convert RDD list to RDD row in PySpark
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
.
然后导入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')>]
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
.
然后导入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')>]