*讀從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模式中捕獲。請讓我知道如果不這樣。謝謝