你好@andrew李,當您指定一個路徑和位置關鍵字,火花就會認為這是一個外部表。所以當你把表,你基礎數據是否不會被清除。
所以在你的情況下,這是一個外部表,你文件夾結構應該已經分區前。. . / < table_dir > /月= 1月。現在當你創建一個表提及分區列如月,火花可以掃描存儲和檢測分區。
請檢查如果這是錯過了從你的結束。如果仍然不工作,提供截圖可以幫助理解這個問題
我重新創建表相同的csv文件在相同的位置,所以我不能刪除csv文件。謝謝!
基本上,您不能創建一個分區表基於一個csv文件,隻需使用sql來創建分區表()位置“pathToCsv”文件?因為一個csv文件沒有paritioned文件結構位置。
我理解條款意味著外部表的位置和實際數據存儲在這裏。有時令人困惑,因為這裏的位置實際上是csv文件,並從這個csv文件創建一個表後,在這個位置什麼也沒有發生。如果你使用scala火花,讀這csv dataframe,然後寫回相同的位置,保持csv格式,並添加分區,像spark.read.csv.load .write (“pathToCsv”)。選項(“路徑”,“PathToCSV”) .partitionBy .mode (“partitionColumn”)(“覆蓋”).format (csv) .saveAsTable (“mytable”),你會有一些新的文件在這個位置。