Job failed with java.lang.UnsupportedOperationException: org.apache.parquet.column.values.dictionary.PlainValuesDictionary$PlainBinaryDictionary
FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Spark job failed during runtime. Please check stacktrace for the root cause.
今天, 往hive外部表中插数据时, 出现上述异常, 查了一下hadoop, hive的相关日志, 没找到啥有用的信息, 插入失败, 就重试了好多次, 这张表也是删了又建建了又删, 可还是没用, 查看建表语句没啥问题, 数据源也没啥问题, 看日志看的头疼, 后面试了试其他表的操作没啥问题, 那肯定就是这张表出的问题.
其间尝试这张表的一些基本操作, 如select 语句, 发现还是报错, 想了想, 最后忽然想到这是是张外部表, drop操作, 不能删除hdfs上源文件, 这张表之前是存在的, 后来drop操作, 又在原来位置上创建同名新表, 应该是这里出了问题, 果然去hdfs上, 删除了该表文件, 再重新创建, 就没问题了. 而且这张表之前建表时, 建表的压缩格式出现过错误, 后面通过drop 重新创建 插入成功了, 但估计文件本身还是有问题, 所以才导致今天的异常.