簡體   English   中英

具有多種密鑰類型的Hadoop MapReduce映射器和精簡器

[英]Hadoop MapReduce mapper and reducer with multiple key types

我正在使用MapReduce構建用於Web搜索的反向索引。 我知道如何將MapReduce與一種鍵類型一起使用,您可以在此處進行設置:

job.setMapOutputKeyClass(ArrayListWritable.class);
job.setOutputKeyClass(ArrayListWritable.class);

但是,如果我的鑰匙可以是不同的類型,該怎么辦? 例如,一個鍵可能只是Text,另一個鍵可能是PairOfWritables。 我想為從映射器到化簡器以及從化簡器到最終輸出的輸出設置不同的鍵類型。 我已經看到有一個名為MultipleOutputs的類,它允許指定不同的鍵和類,但是我不確定這是否適合使用它。從互聯網上看,MultipleOutputs似乎僅在reducer方法中使用。 ,而不是映射器。

這是一個主意。 您如何創建一個新類,該類可以接收您希望傳遞給reduce的任何類型的數據。 該類將包含一個toString()方法,該方法最終將您的數據表示為String。 使用此字符串,在Hadoop中使用Text類可以將其用作鍵

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM