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

在流媒體模式演化問題

Sandy21
新的貢獻者三世

當模式改變而讀寫流,將自動模式變化是由火花

還是我們需要包含的選項(mergeschema = True) ?

例如:

df.writeStream

.option (“mergeSchema”,“真正的”)

.format(“δ”)

.outputMode(“追加”)

.option(“路徑”、“/數據/”)

.option (“checkpointLocation”、“檢查點/”)

.start ()

.awaitTermination ()

包括選項(mergeschema = True)仍然拋出錯誤:

錯誤:模式匹配檢測到寫作時三角洲表

要啟用模式遷移,請設置:

”。選項(“mergeSchema”,“真正的”)”。

做任何額外的選項/更改上麵的查詢需要做嗎?你能建議解決這個問題嗎?

2回答2

Hubert_Dudek1
尊敬的貢獻者三世

mergeSchema不支持所有操作。在某些情況下.option (“overwriteSchema”,“真正的”)是必要的。MergeSchema不支持:

  • 刪除列
  • 改變現有的列的數據類型(地方)
  • 重命名列名稱,隻有通過不同情況下(例如,“Foo”和“Foo”)

更多關於這個話題//m.eheci.com/blog/2019/09/24/diving-into-delta-lake-schema-enforcement-evolution.html

Sandy21
新的貢獻者三世

由於@Hubert杜德克。在寫一個流表的情況下,我們需要改變檢查點位置除了添加選項(“mergeSchema”,“真正的”)

如果有一個傳入的數據添加一個新列?

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

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

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

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

Baidu
map