你好!
我玩自動裝卸機模式推理在大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作為一個結構體(因為我想推斷出很多表,異常我想避免)。
謝謝你的幫助,
PySpark默認情況下使用\轉義字符。您可以將它更改為“
道格:https://docs.m.eheci.com/ingestion/auto-loader/options.html csv-options
PySpark默認情況下使用\轉義字符。您可以將它更改為“
道格:https://docs.m.eheci.com/ingestion/auto-loader/options.html csv-options