【发布时间】:2019-11-24 14:41:45
【问题描述】:
大家好,我有这个函数可以从 DataFrame 中获取行值,将它们转换为列表并从中创建一个 Dataframe。
//Gets the row content from the "content column"
val dfList = df.select("content").rdd.map(r => r(0).toString).collect.toList
val dataSet = sparkSession.createDataset(dfList)
//Makes a new DataFrame
sparkSession.read.json(dataSet)
我需要做些什么来制作一个包含其他列值的列表,这样我就可以拥有另一个包含其他列值的 DataFrame
val dfList = df.select("content","collection", "h").rdd.map(r => {
println("******ROW********")
println(r(0).toString)
println(r(1).toString)
println(r(2).toString) //These have the row values from the other
//columns in the select
}).collect.toList
谢谢
【问题讨论】:
-
你想在这里实现什么?如果您要选择的列很少,您可以直接选择以获取带有选定列的新数据框为什么我们需要收集并制作列表并再次制作另一个数据框?对我来说,你似乎把事情复杂化了......
-
我正在尝试从“内容”列创建一个新的 DataFrame,它是一个像这样的 json:´´´´´ {"_id":"5ccb24112584a9041e75dd38","currency":"MXN ","exchange_rate":1.0,"fraud_status":"in_review","status":"pending_payment"} ´´´´´ 所以每个 json 字段都是一列。我已经做到了,但我需要将其他列附加到这个新的 DataFrame
-
你能在这里发布json吗
标签: scala apache-spark dataframe dataset