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

三角洲表:無法設置默認列映射模式為δ在Python中“name”表

AsfandQ
新的貢獻者三世

你好,

我試圖寫三角洲文件一些CSV數據。當我做

csv_dataframe.write.format .save(“δ”)(“/道路/ / table.delta”)

我:AnalysisException:

發現無效的字符(s)在",{}()\ n \ t = "的列名

模式。

抬頭一看一些文檔,我將以下設置所有表列映射模式為“name”不會導致這個錯誤:

spark.conf.set (“spark.databricks.delta.defaults.columnMapping.mode”、“名稱”)

運行此之前調用的寫(…)不工作,我得到同樣的錯誤。

我已經設法用SQL用TBLPROPERTIES CREATE TABLE語句如下所示:

創建表table_bronze_csv使用CSV選項(' / path / /數據。csv”、“頭”“真實”、“模式”“FAILFAST”);使用三角洲創建表table_bronze TBLPROPERTIES (“delta.columnMapping。模式”=“名稱”)作為SELECT * FROM table_bronze;

但正在尋找Python的方法。

謝謝

1接受解決方案

接受的解決方案

赫曼特
重視貢獻二世

根據我的理解,它的表沒有的δ的屬性文件。這是為什麼,這不是工作時將其保存為三角洲文件。

赫曼特索尼

在原帖子查看解決方案

6個回答6

赫曼特
重視貢獻二世

隻是通過屬性選擇:

csv_dataframe.write.format .option(“δ”)(“delta.columnMapping.mode”、“名稱”).save(路徑)

赫曼特索尼

AsfandQ
新的貢獻者三世

由於@Hemant庫馬爾,我試著什麼你說,下麵是一個複製/粘貼(具有消毒名稱):

table_bronze.write.format .option (“delta.columnMapping(“δ”)。模式”、“名稱”).save(“/道路/ / table.delta”)

我得到了同樣的錯誤。有錯誤嗎?

赫曼特
重視貢獻二世

對不起,我忘了提到saveastable,試試這個:

table_bronze.write.format .option (“delta.columnMapping(“δ”)。模式”、“名稱”).option(“路徑”,“/路徑/ / table_bronze”) .saveAsTable (“table_bronze”)

赫曼特索尼

AsfandQ
新的貢獻者三世

由於這一工作。我現在可以用SQL查詢它。你能解釋一下為什麼我要做saveAsTable路徑中設置一個選項?我想調用save()的方法的操作。

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

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

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

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

Baidu
map