你好,
我們有一個鑲花表(文件夾)在Azure存儲賬戶。
分區表的列PeriodId(代表一天的格式名稱),數據從20181001到20211121(昨天)。
我們有一個新的發展,添加一個新列從20211101開始這個表。
當我們讀到的數據區間(20211101,20211101)在一個Scala筆記本,dataframe不返回新列。
什麼是最好的方法來解決這個問題,而無需重寫所有分區所有列?
在三角洲格式表而不是拚花可以解決問題嗎?
或者隻是改變表(文件夾)的方式保存嗎?
這是一段代碼使用創建表(如果它不存在的話)插入數據分區。
val fileFormat = "拚花" val filePartitionBy = " PeriodId " val fileSaveMode =“覆蓋”val filePath = " abfss: / / <容器> @ <存儲賬戶>.dfs.core.windows.net/ <文件夾> / <表名稱>”var fileOptions =地圖(“標題”- >“真正的”,“overwriteSchema”- >“true”) dfFinal .write .format (fileFormat) .partitionBy (filePartitionBy) .mode (fileSaveMode) .options (fileOptions) .save (filePath)
提前謝謝,
蒂亞戈年金。
嗨@Tiago年金
你試試模式演化?這裏的文檔https://spark.apache.org/docs/latest/sql-data-sources-parquet.html schema-merging
我認為你表δ將解決這個問題。您可能想要測試它。