0
我使用多個映射器,映射1和映射2執行此任務。我需要使用以下方式專門執行它:Map1-> Map2-> Reducer。我該怎麼做?非常感謝你!在序列中運行Hadoop映射器
我使用多個映射器,映射1和映射2執行此任務。我需要使用以下方式專門執行它:Map1-> Map2-> Reducer。我該怎麼做?非常感謝你!在序列中運行Hadoop映射器
請大家看看ChainMapper
http://hadoop.apache.org/docs/stable2/api/org/apache/hadoop/mapred/lib/ChainMapper.html
的ChainMapper類允許一個單一 Map任務中使用多個映射器類。
UPDATE OP有關地圖不連續。情況並非如此 - 正如源代碼註釋和代碼本身所驗證的那樣:
Mapper mapper = chain.getFirstMap();
if (mapper != null) {
mapper.map(key, value, chain.getMapperCollector(0, output, reporter),
reporter);
}
ChainMapper似乎不允許順序執行......它似乎並行運行這兩個映射。 –
不正確:我已在源代碼中進行了驗證並更新了答案 – javadba