gpt4 book ai didi

azure - 如何升级 Azure Databricks 中的 Hive 版本

转载 作者:行者123 更新时间:2023-12-02 20:15:53 26 4
gpt4 key购买 nike

org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.UnsupportedOperationException: Parquet does not support timestamp. See HIVE-6384;

在 Azure Databricks 中执行以下代码时出现上述错误。

spark_session.sql("""
CREATE EXTERNAL TABLE IF NOT EXISTS dev_db.processing_table
(
campaign STRING,
status STRING,
file_name STRING,
arrival_time TIMESTAMP
)
PARTITIONED BY (
Date DATE)
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION "/mnt/data_analysis/pre-processed/"
""")

我在 Azure Data bricks 中使用配置单元,当我运行命令 spark_session.conf.get("spark.sql.hive.metastore.version") 时,它显示为 Hive 0.13版本。

Hive 0.13 不支持 parquet 文件的时间戳数据类型。

在我当前的数据集中,我有多个带有时间戳数据类型的列。根据 Hive-6384 Jira,从 Hive-1.2 开始,您可以在 Parquet 表中使用时间戳、日期类型。

如何升级 Hive/Hive Metastore 版本?

最佳答案

我刚刚发布了一个可能回答您问题的相关问题:

Databricks CREATE TABLE USING PARQUET vs. STORED AS PARQUET

看起来如果您可以更改为CREATE TABLE ... USING PARQUET LOCATION '...',那么它就可以正常工作而不会出现 Hive JAR 问题。

虽然我不知道为什么。 :-(

关于azure - 如何升级 Azure Databricks 中的 Hive 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63868715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com