[英]Describe Snowflake table from Azure Databricks
我想為 Snowflake 表發出DESC TABLE
SQL 命令並使用 Azure Databricks,但我無法弄清楚! 我沒有收到任何錯誤,但我也沒有得到任何結果。 這是我正在使用的 Python 代碼:
options_vcp = {
"sfUrl": snowflake_url,
"sfUser": user,
"sfPassword": password,
"sfDatabase": db,
"sfWarehouse": wh,
"sfSchema": sch
}
sfUtils = sc._jvm.net.snowflake.spark.snowflake.Utils
sfUtils.runQuery(options_vcp, "DESC TABLE myTable")
我可以使用"sfDatabase"
、 "sfWarehouse"
下載雪花表,因此它們看起來是正確的。 我可以在 Snowflake 中運行DESC TABLE
命令並獲得正確的結果。 但我從 databricks 得到的唯一輸出是:
Out[1]: JavaObject id=o315
有誰知道如何顯示此JavaObject
或知道從 Databricks 運行DESC TABLE
的不同方法?
來自文檔: 執行 DDL/DML SQL 語句:
runQuery方法只返回 TRUE 或 FALSE。 它適用於不返回結果集的語句,例如 CREATE TABLE 等 DDL 語句和 INSERT、UPDATE 和 DELETE 等 DML 語句。 它對於返回結果集的語句沒有用,例如 SELECT 或 SHOW。
另一種方法是使用INFORMATION_SCHEMA.COLUMNS視圖:
df = spark.read.format(SNOWFLAKE_SOURCE_NAME)
.options(sfOptions)
.option("query", "SELECT * FROM information_schema.columns WHERE table_name ILIKE 'myTable'")
.load()
相關: 將數據從 Snowflake 移動到 Spark :
使用 DataFrame 時,Snowflake 連接器僅支持 SELECT 查詢。
使用說明
目前,連接器在使用 DataFrame 時不支持其他類型的查詢(例如 SHOW 或 DESC 或 DML 語句)。
我建議在您的 select 語句中使用 get_ddl() 來獲取對象定義:
https://docs.snowflake.com/en/sql-reference/functions/get_ddl.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.