我有一個問題與升級表統一目錄,我得到了錯誤:
簡介:
在SQL語句錯誤:
AnalysisException:
org.apache.hadoop.hive.ql.metadata.HiveException:
表calexception無法獲取。異常拋出時執行查詢:
選擇不同的“org.apache.hadoop.hive.metastore.model。MTable”NUCLEUS_TYPE、A0.CREATE_TIME A0.LAST_ACCESS_TIME, A0.OWNER, A0.RETENTION, A0.IS_REWRITE_ENABLED, A0.TBL_NAME, A0.TBL_TYPE, A0。從中環TBL_ID A0 A0 DBS左外部連接。DB_ID = B0。DB_ID A0的地方。TBL_NAME = ?和B0。“名字”= ?;UpgradeTableCommand ps_dev。“dd_omp”。“calexception”、“hive_metastore’。‘dd_omp’。“calexception”,假的,真的,假的,假的,假的,數據:com.databricks.backend.common.rpc.SparkDriverExceptions SQLExecutionException美元:
有人曾經和外部表升級到統一目錄類似的問題嗎?我找不到一個關於這個問題的線索。完整的錯誤信息。
這是我的火花在集群配置:
spark.sql.hive.metastore。這次1.2.1版本
hive.metastore.schema.verification.record。版本錯誤
spark.databricks.service。端口8787
spark.databricks.driver。enableUserContextForPythonAndRCommands真實
spark.sql.hive.metastore。jar / dbfs /磚/ hive_metastore_jars / *
hive.metastore.schema。驗證錯誤
spark.databricks.delta.preview.enabled真實
spark.databricks.service.server。使真正的
所以你能得到的數據在磚dataframe所以你可以創建表嗎?你能訪問該表中的數據與一個select語句?你讓你自己的metastore外部位置並與工作區,使統一工作區目錄嗎?如果你能做到所有這些事情你可以做
df =火花。sql (“select * <目錄>。<模式>。<表>”)df = df.distinct () df.write.saveAsTable(“<目錄>。<模式>。<表>”)
我還注意到這是表你想選擇嗎?
“org.apache.hadoop.hive.metastore.model.MTable”
目錄和模式和表在哪裏在字符串?如果其中任何一個有一個點需要圍繞每個引號(“)。
#交貨。表= "“目錄”,“模式”。“表”“df =火花。sql (f“select * from{表}”)
我使用同步表查詢創建新的表中創建外部表基於蜂巢metastore。這是我的查詢:
同步表ps_dev.dd_omp.versioncompatibility
從hive_metastore.dd_omp.versioncompatibility
排練
一切都開始當我嚐試新的目錄同步所有模式。然後我得到了幾個表的錯誤:“拚花不支持時間戳。看到蜂巢- 6384”。然後我改變了蜂巢的版本問題開始。後設置蜂窩版本晚於1.2.1(鑲花的原因,解決問題)我有錯誤我之前附件。
與此設置我不能甚至選擇數據表:
SELECT * FROM hive_metastore.dd_omp.versioncompatibility
錯誤信息:
Py4JError:調用o405.getCause時發生一個錯誤。跟蹤:
py4j.security。公共同步. lang Py4JSecurityException:方法。Throwable javax.jdo.JDOException.getCause()類類javax.jdo.JDOException不是白名單
py4j.security.WhitelistingPy4JSecurityManager.checkCall (WhitelistingPy4JSecurityManager.java: 473)
py4j.Gateway.invoke (Gateway.java: 305)
py4j.commands.AbstractCommand.invokeMethod (AbstractCommand.java: 132)
py4j.commands.CallCommand.execute (CallCommand.java: 79)
py4j.ClientServerConnection.waitForCommands (ClientServerConnection.java: 195)
py4j.ClientServerConnection.run (ClientServerConnection.java: 115)
java.lang.Thread.run (Thread.java: 750)
但是當我改變了設置和蜂巢版本然後我不能使用同步表查詢。你有任何想法是什麼錯了嗎?也許我應該添加一些高級選項在集群。它在集群統一編目功能至關重要。