在 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行转换为带有json结构的数据框?