我在从配置单元表读取 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)
saveAsTable. 由于某种需求,我需要直接写入路径