我使用磚自動裝卸機從ADLS gen2增量加載JSON文件目錄清單模式。所有源文件的時間戳。自動裝卸機工作完美的幾天與下麵的配置和休息第二天以下錯誤。
org.apache.spark。SparkException:工作階段失敗而終止:任務1階段7.0失敗了4次,最近的失敗:在舞台上失去了任務1.3 7.0 (TID 24)(10.150.38.137執行人0):. lang。IllegalArgumentException: java.net.URISyntaxException:相對路徑在絕對URI: 2022 - 04 - 27 t20:09:00(附完整的錯誤消息)
我刪除了檢查站,目標三角洲表和加載新的選項“cloudFiles.includeExistingFiles”:“真正的”。所有文件加載成功之後的增量加載相同的錯誤發生。
自動裝卸機配置
{“cloudFiles.format”:“json”、“cloudFiles。useNotifications”:“假”、“cloudFiles。inferColumnTypes”:“真正的”、“cloudFiles。schemaEvolutionMode”:“addNewColumns”、“cloudFiles.includeExistingFiles”:“false”}
路徑位置通過如下
raw_data_location: dbfs: / mnt / DEV-cdl-raw /數據/ storage-xxxxx / xxxx /
target_delta_table_location: dbfs: / mnt / DEV-cdl-bronze /數據/ storage-xxxxx / xxxx /
checkpoint_location: dbfs: / mnt / DEV-cdl-bronze /配置/自動裝卸機/ storage-xxxxx / xxxx /檢查站
schema_location: dbfs: / mnt / DEV-cdl-bronze / / storage-xxxxx / xxxx /元數據
StreamingQuery = StreamDF。writeStream \
.option (“checkpointLocation”, checkpoint_location) \
.option (“mergeSchema”,“真正的”)\
.queryName (f”AutoLoad_RawtoBronze_ {sourceFolderName} _ {sourceEntityName}”) \
.trigger (availableNow =真正的)\
.partitionBy targetPartitionByCol \
.start (target_delta_table_location)
有人能幫我嗎?
提前謝謝。
我所說的重載加載該文件夾中的所有現有數據。正如上麵提到的:
' '
自動裝卸機= spark.readStream.format \ (“cloudFiles”)
.option (“cloudFiles。形式at", data_format) \
.option(“頭”,“真正的”)\
.option (“cloudFiles。schemaLocation \”, schema_location)
.option (“cloudFiles。allowOverwrites”、“真實”)\
.load(路徑)
' '
' '
df = spark.read.format data_format \
.option(“頭”,“真正的”)\
.load(路徑)
' '
這就是為什麼我提到,幸運的是,這個數據文件夾不是巨大和快速工作。