我正在尝试采用硬编码字符串并将其转换为 1 行 Spark DataFrame(具有单列类型StringType
)这样:
String fizz = "buzz"
将得到一个 DataFrame,其.show()
方法如下:
+-----+
| fizz|
+-----+
| buzz|
+-----+
迄今为止我最好的尝试是:
val rawData = List("fizz")
val df = sqlContext.sparkContext.parallelize(Seq(rawData)).toDF()
df.show()
但我收到以下编译器错误:
java.lang.ClassCastException: org.apache.spark.sql.types.ArrayType cannot be cast to org.apache.spark.sql.types.StructType
at org.apache.spark.sql.SQLContext.createDataFrame(SQLContext.scala:413)
at org.apache.spark.sql.SQLImplicits.rddToDataFrameHolder(SQLImplicits.scala:155)
关于我哪里出了问题有什么想法吗?另外,我该如何设置"buzz"
作为行值fizz
column?
Update:
Trying:
sqlContext.sparkContext.parallelize(rawData).toDF()
我得到的 DF 看起来像:
+----+
| _1|
+----+
|buzz|
+----+
Try:
sqlContext.sparkContext.parallelize(rawData).toDF()
在 2.0 中您可以:
import spark.implicits._
rawData.toDF
(可选)提供一系列名称toDF
:
sqlContext.sparkContext.parallelize(rawData).toDF("fizz")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)