本章節為您介紹MapReduce的基本概念。
Map/Reduce
Map和Reduce分別支持對應的map/reduce方法、setup方法及cleanup方法。setup方法在map/reduce方法之前調用,每個Worker調用且僅調用一次。
cleanup方法在map/reduce方法之后調用,每個Worker調用且僅調用一次。
相關的使用示例請參見示例程序。
排序
支持將Map輸出的key record中的某幾列作為排序(Sort)列,不支持您自定義的比較器(comparator)。您可以在排序列中選擇某幾列作為Group列,不支持您自定義的Group比較器。Sort列一般用來對您的數據進行排序,而Group列一般用來進行二次排序。
相關的使用示例請參見二次排序源代碼。
哈希
支持設置哈希(partition)列及用戶自定義哈希函數(partitioner)。哈希列的使用優先級高于自定義哈希函數。
哈希函數用于將Map端的輸出數據按照哈希邏輯分配到不同的Reduce Worker上。
歸并
歸并(Combiner)函數將Shuffle階段相鄰的Record進行歸并。您可以根據不同的業務邏輯選擇是否使用歸并函數。
歸并函數是MapReduce計算框架的一種優化,通常情況下,Combiner的邏輯與Reduce相同。當Map輸出數據后,框架會在Map端對相同key值的數據進行本地的歸并操作。
相關的使用示例請參見示例程序。
文檔內容是否對您有幫助?