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

模式演化——汽車裝載機Avro格式是不按預期工作

venkat09
新的貢獻者三世

*讀從s3 Avro文件然後寫三角洲表

10 *攝取示例數據文件,包含四列,它自動推斷模式

*引入一個新的文件,其中包含一個新列(foo)連同現有的列和流失敗,把確定新領域的錯誤,這是預期

*重啟流,三角洲表添加新列

*引進一個新的文件包含另一個新列(Foo,但是隻有與案例相比新列)

*預計:流不應該失敗,添加新列信息* * _rescued_data * *

*實際:流未能把below-given錯誤消息

* com.databricks.sql.transaction.tahoe。DeltaAnalysisException:發現重複的列(s)在數據保存:元數據

注意:我看到了選項“readerCaseSensitive”文檔,但原因尚不清楚。我想設置假和真但麵臨同樣的問題。

' ' '

流= (spark.readStream

.format (“cloudFiles”)

.option (“cloudFiles。格式”、“avro”)

.option (“cloudFiles。schemaLocation”, bronzeCheckpoint)

#。選項(“readerCaseSensitive”,假)

.load (rawDataSource)

.writeStream

bronzeTable .option(“路徑”)

bronzeCheckpoint .option (“checkpointLocation”)

.option (“mergeSchema”,真的)

.table (bronzeTableName)

)

' ' '

我的理解從文檔,如果有不匹配的列名稱,列不應該搬到_rescued_column模式中捕獲。請讓我知道如果不這樣。謝謝

1回複1

venkat09
新的貢獻者三世

我將筆記本的示例代碼,以幫助重現這個問題。

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

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

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

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

Baidu
map