全部產品
Search
文件中心

E-MapReduce:常見問題

更新時間:May 27, 2026

本文匯總了Hive使用時的常見問題。

作業長時間處於等待狀態,如何處理?

您可以通過以下步驟定位問題:
  1. 在EMR控制台的訪問連結與連接埠頁面,單擊YARN UI所在行的連結。
  2. 單擊Application ID。
  3. 單擊Tracking URL的連結。
    可以看到有多個作業處於等待狀態。
  4. 在左側導航中,單擊Scheduler
    即可進入隊列,您可以看一下當前隊列的繁忙程度,來分析是因為隊列中沒有空閑資源,還是當前任務確實比較耗時。如果是隊列資源緊張,您可以考慮切換到空閑隊列,否則需要最佳化代碼。在 YARN ResourceManager 頁面左側導覽列中,單擊 Scheduler,在 Application Queues 地區可查看各隊列的 Capacity 與 Used 佔比,據此判斷隊列資源是否緊張。

Map端是否讀取了小檔案?

您可以通過以下步驟定位問題:
  1. 在EMR控制台的訪問連結與連接埠頁面,單擊YARN UI所在行的連結。
  2. 單擊Application ID。
    進入Map Task的詳情頁面,可以看到每個Map Task讀取的資料量,例如,讀取的資料量是2個位元組記錄。如果大部分的Map Task讀取的檔案量都比較小,就需要考慮小檔案合并。

    您也可以通過查看Map Task的Log,擷取更多的資訊。

Reduce Task任務耗時,是否出現了資料扭曲?

您可以通過以下步驟定位問題:
  1. 在EMR控制台的訪問連結與連接埠頁面,單擊YARN UI所在行的連結。
  2. 單擊Application ID。
  3. 在Reduce Task列表頁面,按照完成時間逆序排序,找出Top耗時的Reduce Task任務。重點關注 State 列確認任務執行狀態,以及 Successful Attempt 中的 Shuffle Finish TimeMerge Finish TimeFinish Time 分析各階段耗時,判斷是否存在資料扭曲。
  4. 單擊Task的Name連結。
  5. 在Task詳情頁面,單擊左側的Counters。
    查看當前Reduce Task中Reduce Input bytes和Reduce shuffle bytes的資訊,如果比其他的Task處理的資料量大很多,則說明出現了傾斜問題。在Task的Counters頁面的Map-Reduce Framework地區中查看Reduce input recordsReduce shuffle bytes的值,與其他Task對比判斷是否存在資料扭曲。