取消
顯示的結果
而不是尋找
你的意思是:

如何解決問題,提升外部表統一目錄嗎?

vexor”id=
貢獻者

我有一個問題與升級表統一目錄,我得到了錯誤:

簡介:

在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。使真正的

15日回複15

我不自己創建該表,但使用查詢:

創建hive_metastore.dd_omp.versioncompatibility位置“dbfs: / mnt / {storage_account} / {blob_name} / {path_to_data}”;“

我不想在hive_metastore重新創建它。我需要創建相同的表,但是在統一目錄基於相同的路徑。

所以你能得到的數據在磚dataframe所以你可以創建表嗎?你能訪問該表中的數據與一個select語句?你讓你自己的metastore外部位置並與工作區,使統一工作區目錄嗎?如果你能做到所有這些事情你可以做

df =火花。sql (“select * <目錄>。<模式>。<表>”)df = df.distinct () df.write.saveAsTable(“<目錄>。<模式>。<表>”)

我還注意到這是表你想選擇嗎?

“org.apache.hadoop.hive.metastore.model.MTable”

目錄和模式和表在哪裏在字符串?如果其中任何一個有一個點需要圍繞每個引號(“)。

#交貨。表= "“目錄”,“模式”。“表”“df =火花。sql (f“select * from{表}”)

沒有運氣努力呢?我問的問題呢?

vexor”id=
貢獻者

我使用同步表查詢創建新的表中創建外部表基於蜂巢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)

但是當我改變了設置和蜂巢版本然後我不能使用同步表查詢。你有任何想法是什麼錯了嗎?也許我應該添加一些高級選項在集群。它在集群統一編目功能至關重要。

匿名
不適用

嗨@Michal斯洛

謝謝你發布你的問題在我們的社區!我們很高興幫助你。

幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?

這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map