请告诉我如何使用以下代码创建数据框?
val x =List(Map("col1"->"foo","col2"->"bar"))
val RDD =sc.parallelize(x)
输入如上所示,即RDD[Map[String, String]]
想要转换为数据帧,col1和col2作为列名,foo和bar作为一行。
答案 0 :(得分: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|
+----+----+