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

列名無效字符”,{}()\ n \ t = "

maxutil
新的貢獻者二世

我到dataframe讀取數據

df = spark.read.json (s3: / / somepath /)

我試著第一次使用DeltaTable API創建一個增量表:

DeltaTable.createIfNotExists(火花)\ .location (target_path) \ .addColumns (df.schema) \ . execute ()

這是我給我一個AnalysisException說無效字符。我應該設置表屬性的delta.columnMapping。模式的“名字”。我試過了:

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

這並沒有奏效。我試著使用DataFrame API而不是:

df.write.format .option (“delta.columnMapping(“δ”)。模式”、“名稱”).save (“s3: / / anotherpath”)

但同樣的錯誤消息。錯誤的列名稱深層嵌套的結構體。

對我有一些其他的方法來完成這個三角洲表寫(沒有壓扁和修複坳名稱)?

編輯:我最後遍曆模式和改變問題的列名。

1回複1

Kaniz
社區經理
社區經理

嗨@Chris鍾,你能逐字逐句通過以下代碼?

df.write.format .option (“delta.columnMapping(“δ”)。模式”、“名稱”).save (“s3: / / anotherpath”)

現在你可以加載到火花dataframe:

從new_table SELECT *;

delta_df = spark.read.format(“δ”).load (“table_path”)

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

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

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

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

Baidu
map