Spark-shell中的toDF在哪里,如何与Vector、Seq或其他一起使用?

Where toDF in Spark-shell, how to use with Vector, Seq or other?

我尝试了一些基本的数据类型,

val x = Vector("John Smith", 10, "Illinois")
val x = Seq("John Smith", 10, "Illinois")
val x = Array("John Smith", 10, "Illinois")
val x = ...
val x = Seq( Vector("John Smith",10,"Illinois"), Vector("Foo",2,"Bar"))

但没有人提供 toDF(),甚至在 import spark.implicits._ 之后也是如此。

我的目标是使用someting作为x.toDF("name","age","city").show

在最后一个例子中 toDF 存在,但是错误 "java.lang.ClassNotFoundException".


备注:

toDF后show的预期结果是

+----------+---+--------+
|      name|age|    city|
+----------+---+--------+
|John Smith| 10|Illinois|
+----------+---+--------+

您要查找的语法是。

val x = Array("John Smith", "10", "Illinois")
sc.parallelize(x).toDF()

另一种方式是,

val y = Seq("John Smith", "10", "Illinois")
Seq(y).toDF("value").show()

这也应该有效。

Seq(Vector("John Smith","10","Illinois"), Vector("Foo","2","Bar")).toDF()

您应该将值放入元组中以创建 3 列

scala> Seq(("John Smith", "asd", "Illinois")).toDF("name","age","city").show
+----------+---+--------+
|      name|age|    city|
+----------+---+--------+
|John Smith|asd|Illinois|
+----------+---+--------+