我在含有大量文本文件的HDFS上有很多tar.gz文件的每日文件夾。
發現一些tar.gz文件被破壞,並導致配置單元/ mapreduce作業在處理這些文件時發生「意外流結束」崩潰。在hadoop/hive中處理損壞的gzip文件
我確定了其中的幾個,並用tar -zxvf對它們進行了測試。他們確實退出時出現了錯誤,但在這種情況發生之前仍然提取了相當數量的文件。
有沒有辦法阻止配置單元/ mapreduce作業簡單地崩潰時tar/gz文件損壞? 我測試過一些錯誤跳躍和寬容失敗的參數,如
mapred.skip.attempts.to.start.skipping,
mapred.skip.map.max.skip.records,
mapred.skip.mode。
mapred.map.max.attempts,
mapred.max.map.failures.percent,
mapreduce.map.failures.maxpercent。
它幫助在少數情況下得到一個完整的文件夾處理沒有崩潰,但主要是這導致作業掛起,而不是完成。
將hadoop以外的每個文件解壓縮,然後將它們重新壓縮(以獲得乾淨的gzip文件)然後再次上傳到hdfs將是一個如此痛苦的過程(因爲額外的步驟和大量的數據會生成)
是否有人找到了更清潔/更優雅的解決方案?
感謝您的任何幫助。
感謝分享,這是非常方便不是草草收場有大象落在一個狡猾的球:對我就給你一個儘快 –