[英]Transform list of map to dataframe
我有以下数据:
d = Some(List(Map(id -> 1, n -> Hi), Map(id -> 2, n -> Hello)))
我想将其转换为 dataframe,如下所示:
+--------+
|id|n |
+--------+
|1 |Hi |
+--------+
|2 |Hello|
+--------+
我尝试了以下内容:
import spark.implicits._
val df = d
.map( m => (m.get("id"),m.get("n")))
.toDF("id", "n")
但我得到:
error: value get is not a member of Any
.map( m => (m.get("id"),m.get("n")))
您在这里的最高级别是 Option,我认为这就是您无法使用单个 map 处理它的原因。我设法用这样的方法来做到这一点:
import spark.implicits._
val d = Some(List(Map("id" -> "1", "n" -> "Hi"), Map("id" -> "2", "n" -> "Hello")))
val data = d.fold (List.empty [(Option [String], Option [String])]) (_.map (m => (m.get ("id"), m.get ("n"))))
val df = data.toDF("id", "n").show()
Output:
+---+-----+
| id| n|
+---+-----+
| 1| Hi|
| 2|Hello|
+---+-----+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.