reduce任務的數量并非由輸入資料的大小決定,而是特别指定的。
如有多個reduce任務,則每個map任務都會對其輸出進行分區(partition),即為每個reduce任務建一個分區。每個分區由許多鍵(及其對應值),但每個鍵對應的 鍵/值對 記錄都在同一個分區中。分區由使用者定義的分區函數控制,但通常用預設的分區器(partitioner,也稱為“分區函數”)通過哈希函數來分區,這種方法很高效。
reduce任務的數量并非由輸入資料的大小決定,而是特别指定的。
如有多個reduce任務,則每個map任務都會對其輸出進行分區(partition),即為每個reduce任務建一個分區。每個分區由許多鍵(及其對應值),但每個鍵對應的 鍵/值對 記錄都在同一個分區中。分區由使用者定義的分區函數控制,但通常用預設的分區器(partitioner,也稱為“分區函數”)通過哈希函數來分區,這種方法很高效。