Scala和Spark,rdd从字典创建数据框

Posted

技术标签:

【中文标题】Scala和Spark,rdd从字典创建数据框【英文标题】:Scala And Spark , rdd to dataframe creation from of dictionary 【发布时间】:2017-08-28 18:37:24 【问题描述】:

您能告诉我如何从以下代码创建数据框吗?

val x =List(Map("col1"->"foo","col2"->"bar"))
val RDD =sc.parallelize(x)

输入如上图即RDD[Map[String, String]] 想要以 col1 和 col2 作为列名并将 foo 和 bar 作为单行转换为数据框。

【问题讨论】:

【参考方案1】:

您可以创建一个案例类,将 rdd 中的 Maps 转换为案例类,然后 toDF 应该可以工作:

case class r(col1: Option[String], col2: Option[String])

RDD.map(m => r(m.get("col1"), m.get("col2"))).toDF.show
+----+----+
|col1|col2|
+----+----+
| foo| bar|
+----+----+

【讨论】:

以上是关于Scala和Spark,rdd从字典创建数据框的主要内容,如果未能解决你的问题,请参考以下文章