我已經在 hadoop 中實作了一個簡單的 WordCount 應用程式。在我的集群上,我有一個 namenode 和 4 個 datanode。Replication-rate 設定為 4。在檔案系統中,我放置了許多 lorem-impsum-files。在運行 wordcount 應用程式時,即使映射器尚未完成,我也看到 reducer 正在作業。
2021-10-29 14:53:31,044 INFO mapreduce.Job: map 70% reduce 23%
這是如何運作的?在許多教程頁面上寫著(例如一頁):“當映射器仍在進行中時,減速器無法啟動” https://www.talend.com/resources/what-is-mapreduce/
如果映射的結果集未完成,reducer 如何作業?
uj5u.com熱心網友回復:
一旦映射器發出資料,它會經歷兩個步驟:
- 它是混洗的——這是根據其鍵和磁區器邏輯將資料發送到正確的減速器的程序。
- 它是排序的 - 這發生在減速器本身上。
因此,即使映射器仍在發出資料,reducer 任務也會被創建并在資料到達時對其進行排序。您是對的,因為在所有映射完成之前,它們實際上不會開始處理值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/349340.html
上一篇:無法理解外部關鍵字在蜂巢中的意義
下一篇:GoogleAuth用戶加密屬性
