在 Pyspark 中将流水线 RDD 转换为 Dataframe [重复]

Posted

技术标签:

【中文标题】在 Pyspark 中将流水线 RDD 转换为 Dataframe [重复]【英文标题】:Convert Pipelined RDD to Dataframe in Pyspark [duplicate] 【发布时间】:2018-05-02 09:38:48 【问题描述】:

这就是我的流水线 RDD 的样子:

[([3.0, 12.0, 8.0, 49.0, 27.0], 7968.0),
 ([165.0, 140.0, 348.0, 615.0, 311.0], 165.0)]

我想将其转换为数据框。我尝试将第一个元素(在方括号中)转换为 RDD,将第二个元素转换为 RDD,然后将它们分别转换为数据帧。我也尝试过设置架构并进行转换,但没有奏效。有人可以帮忙吗?

谢谢!

【问题讨论】:

你试过myrdd.toDF()吗?也可以指定列名:myrdd.toDF(["col1", "col2"]) 【参考方案1】:

在转换为 DataFrame 之前,您需要扁平化您的 RDD:

df=rdd.map(lambda (x,y): x+[y]).toDF()

您可以指定toDF()schema 参数以获取有意义的列名和/或类型。

【讨论】:

这不是真的。您没有先将 rdd 展平。您可以直接拨打toDF()

以上是关于在 Pyspark 中将流水线 RDD 转换为 Dataframe [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在pySpark中将RDD拆分为n个部分

如何在pyspark中将rdd行转换为带有json结构的数据框?

如何在 Pyspark 中将 Pair RDD Tuple 键转换为字符串键? [关闭]

在 Pyspark 中将字典转换为数据框

如何在 PySpark 中将两个 rdd 合并为一个

Pyspark - 将rdd转换为数据框时数据设置为null