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".
备注:
我正在使用 Spark-shell 和 Spark v2.2。
需要基于在 toDF(names)
中参数化的列名称的通用转换,不是 复杂的解决方案作为 case class Person(name: String, age: Long, city: String)
[=19 的创建向量=]
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|
+----------+---+--------+
我尝试了一些基本的数据类型,
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".
备注:
我正在使用 Spark-shell 和 Spark v2.2。
需要基于在
toDF(names)
中参数化的列名称的通用转换,不是 复杂的解决方案作为case class Person(name: String, age: Long, city: String)
[=19 的创建向量=]
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|
+----------+---+--------+