小编Ayu*_*yal的帖子

Spark错误:parquet.column.values.dictionary.PlainValuesDictionary$PlainIntegerDictionary

我在从配置单元表读取 Spark 数据帧时遇到问题。我将数据框存储为:

dataframe.coalesce(n_files).write.option("mergeSchema", "true").mode("overwrite").parquet(table_path)
Run Code Online (Sandbox Code Playgroud)

当我尝试读取此数据帧并.show() 对其执行操作时,它会因以下错误而中断:

java.lang.UnsupportedOperationException: parquet.column.values.dictionary.PlainValuesDictionary$PlainIntegerDictionary
at parquet.column.Dictionary.decodeToLong(Dictionary.java:52)
Run Code Online (Sandbox Code Playgroud)

如何找到哪一列是此错误的根本原因?我试图遵循这里的答案。但我能够完美地加载 df 并读取镶木地板文件,即:

df = spark.read.option("mergeSchema", "True").parquet("/hdfs path to parquets")
Run Code Online (Sandbox Code Playgroud)
  • 所述hive表是外部表。我猜这与表属性有关?但我应该看什么?
  • 我无法使用saveAsTable. 由于某种需求,我需要直接写入路径

hive apache-spark pyspark

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

apache-spark ×1

hive ×1

pyspark ×1