我正在尝试将硬编码的字符串转换为一个包含单个类型为StringType
列的1行Spark数据框(DataFrame)。
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
列的行值?
更新:
尝试中:
sqlContext.sparkContext.parallelize(rawData).toDF()
我得到的DF长这样:
+----+
| _1|
+----+
|buzz|
+----+