【发布时间】:2018-08-25 03:43:38
【问题描述】:
我正在尝试将 rdd 转换为没有任何架构的数据框。 我试过下面的代码。它工作正常,但数据框列正在shuffle。
def f(x):
d = {}
for i in range(len(x)):
d[str(i)] = x[i]
return d
rdd = sc.textFile("test")
df = rdd.map(lambda x:x.split(",")).map(lambda x :Row(**f(x))).toDF()
df.show()
【问题讨论】:
-
您可以将数据作为数据帧读取,而不是转换 rdd。
-
洗牌是什么意思?
-
列的顺序被打乱了@ramesh
-
是的,但我需要转换的 rdd 会与其他更改一起处理。@shaido
-
您的解决方案不适用于实际数据,因为您将值用作列名,并且每行将具有不同的值。我同意@Shaido 关于使用 sqlContext 的评论,因为它将使用第一行作为标题
标签: apache-spark dataframe pyspark rdd