[英]Snowflake - which type of stage table is created automatically on each Merge into?
我想將 Spark DataFrame 寫入雪花表。 我正在為 Spark 使用Snowflake 連接器,並將通過 MERGE 將“查詢”選項傳遞給如下語句:
merge_query = "merge into target_table using stage_table
on target_table.id = stage_table.id
when matched then
update set target_table.description = stage_table.description"
df.write
.format(SNOWFLAKE_SOURCE_NAME)
.options(sfOptions)
.option("query", "merge_query")
.mode(SaveMode.Overwrite)
.save()
我沒有任何外部源表,並且想找到一種方法來每次都覆蓋階段數據,然后將其合並到目標表中。 但我不太明白在這種情況下我應該使用哪種類型的舞台。 Snowflake 表階段的文檔沒有指定使用 MERGE INTO 時適合的類型。 我需要像 Snowflake 自動創建的臨時舞台表之類的東西。
對於上面的例子, stage_table
會自動創建嗎? 如果我不想顯式創建任何階段表,它應該如何命名?
現在有自動創建任何表的方法。 您可以在程序中創建一個臨時表,然后將數據加載到該表中並進行合並。 臨時表僅對 session 可用,並且將在 session 結束時自動刪除(這意味着一旦您的工作結束)。 Session 表對任何其他會話不可見。 您可以如下創建臨時表
CREATE TEMPORARY TABLE <STG_TABLE_NAME>(FILED 1 VARCHAR, ...)
希望這對你有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.