在开发Spark单元测试时,我正在尝试创建一个包含Array的Dataframe。我真的不在乎Array中的内容(现实生活中的复杂数据类型),因为我只对它的大小感兴趣。
val data = spark.createDataframe(Seq(
("a", 1, Array()),
("b", 2, Array())
)).toDF("columnA", "columnB", "columnC")
我收到与columnC相关的以下错误(删除columnC它工作正常):scala.MatchError: Nothing
所以我尝试使用Array[Any]()
,我得到了:Schema for type Any is not supported
所以我尝试使用Array[_]()
,我得到了:unbound wildcard type
所以我尝试使用Array[Object]()
,我得到了:Schema for type java.lang.Object is not supported
最后,我决定询问Stackoverflow ......
答案 0 :(得分:0)
DataFrames支持limited set of data types。 Object
和Any
不包括在内。您可以使用Array[Int]()
(例如)创建一个不会导致架构推断出现问题的类型的空数组。