我有一个包含几列的表,其中一些是数组 . 从Spark 1.6升级到Spark 2.0.1后,在DataFrame中读取时,数组字段始终为null .
编写Parquet文件时,列的架构指定为
StructField("packageIds",ArrayType(StringType)).
Hive Metastore中列的架构是
packageIds array<string>
编写器中使用的模式与Metastore中的模式完全匹配
查询是一个简单的“选择*”
spark.sql("select * from tablename limit 1").collect() // null columns in Row
我该如何调试此问题?我已经研究过的值得注意的事情:
-
它适用于火花1.6
-
我用镶木地板工具检查了镶木地板文件,可以查看数据 .
-
我还有另一个以完全相同的方式编写的表,它没有问题 .