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

Autloader CSV文件沒有推斷出好細胞與JSON數據

alxsbn
新的貢獻者三世

你好!

我玩自動裝卸機模式推理在大S3回購300 +表和大型CSV文件。我在看自動裝卸機以極大的關注,因為它可以節省一個偉大的時間在我們攝入過程(數據來自一個事務數據庫生成通過疾控中心功能)。

我的代碼是非常標準的:

(火花。readStream .format .option (“cloudFiles (“cloudFiles”)。格式”、“csv”) .option (“cloudFiles。schemaLocation”, target_table_path) .option (“cloudFiles。inferColumnTypes”,真的).load (source_table_path) .writeStream .option (“checkpointLocation”, target_table_path) .trigger (availableNow = True) .toTable(表)

我有一些CSV文件使用逗號分隔符有一些細胞內我JSON數據。一個快速的提取:

Op、時間戳、field_1 field_2、field_3 field_4, date_add, date_upd,百分比,匹配U, 2023-01-10 16:14:26.000000, 539775799, 74793, 688, 2021-04-13 21:24:39, + 1.00000000 e + 2日2023-01-10 16:14:26,78年,“[{”“名稱”“:”“age_40_50”“,”“價值”“:0},{”“名稱”“:”“xxxx”“,”“價值”“:0},{”“名稱”“:”“xxxx”“,”“價值”:4},{”“名稱”“:”“xxxx”“,”“價值”“:0},{”“名稱”“:”“xxxx”“,”“價值”“:0},{”“名稱”“:”“xxxx”“,”“價值”:4},{”“名稱”“:”“xxxx”“,”“價值”:4},{”“名稱”“:”“xxxx”“,”“價值”“:1},{”“名稱”“:”“xxxx”“,”“價值”:4},{”“名稱”“:”“xxxx”“,”“價值”:4},{”“名稱”“:”“* * *”“,”“價值”:4}]”

自動裝卸機承認最後一列是一個字符串並沒有逃避本專欄中的逗號。

當然,我可以再生資源與另一個分隔符,但我看自動裝卸機選擇這樣做的更簡單的方法。我知道我能玩數據之後或使用一些選擇平JSON作為一個結構體(因為我想推斷出很多表,異常我想避免)。

謝謝你的幫助,

1接受解決方案

接受的解決方案

daniel_sahal
尊敬的貢獻者三世

PySpark默認情況下使用\轉義字符。您可以將它更改為“

道格:https://docs.m.eheci.com/ingestion/auto-loader/options.html csv-options

在原帖子查看解決方案

2回答2

daniel_sahal
尊敬的貢獻者三世

PySpark默認情況下使用\轉義字符。您可以將它更改為“

道格:https://docs.m.eheci.com/ingestion/auto-loader/options.html csv-options

alxsbn
新的貢獻者三世

那麼明顯。由於添加以下選項解決它

.option(“逃脫”,“\”)

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

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

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

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

Baidu
map