鑲木板時間戳需要Hive Metastore 1.2或更高

將Hive Metastore更新為1.2版或更高版本,以將時間戳與鑲木quet表一起使用。

寫的rakesh.parija

上次出版於:2022年5月16日

問題

您正在嚐試使用時間戳,但是您會收到一條錯誤消息。

SQL語句中的錯誤:queryExecutionException:失敗:執行錯誤,返回代碼1從org.apache.hadoop.hive.hive.ql.exec.ddltask。java.lang.unsupportedoperationException:Parquet不支持時間戳。參見Hive-6384

示例代碼

%sql創建外部表(如果不存在),請使用測試台(emp_name字符串,joing_dateTime時間戳),由(日期)存儲為parquet位置“ /mnt/< path-path-to-dath-to-datha> data>/emp.testtable”(日期)。

原因

鑲木木需要1.2或更高的蜂巢元馬托爾版本才能使用時間戳

刪除

信息

Databricks運行時使用的默認Hive Metastore客戶端版本為0.13.0。

解決方案

您必須在集群上升級Hive Metastore客戶端。

您可以通過將以下設置添加到集群的火花配置((AWS|天藍色|GCP)。

  • Databricks運行時6.6及以下
    spark.sql.hive.metastore.version 1.2.1 spark.sql.hive.metastore.jars內置
  • Databricks運行時7.0及以上
    spark.sql.hive.metastore.jars /dbfs  spark.sql.hive.metastore.version 1.2.1
刪除

信息

對於Databricks運行時7.0及更高版本,您必須下載Metastore Jars並指向它們(AWS|天藍色|GCP)如Databricks文檔中所述。