类型为Any或_的数组创建Spark Dataframe失败

时间:2017-04-12 14:48:06

标签: arrays scala generics apache-spark spark-dataframe

在开发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 ......

1 个答案:

答案 0 :(得分:0)

DataFrames支持limited set of data typesObjectAny不包括在内。您可以使用Array[Int]()(例如)创建一个不会导致架构推断出现问题的类型的空数组。