4
我想了根據使用Hadoop的地圖,減少月寫的文件。如果數據是從一月份開始,那麼數據應該在jan-file中寫入,同樣每個月應該有一個單獨的文件。
如何建立在Hadoop中mapredude這樣的文件。我正在嘗試遞歸map-reduce,但沒有得到如何實現它?
PLS建議我一些解決方案。
謝謝。
我想了根據使用Hadoop的地圖,減少月寫的文件。如果數據是從一月份開始,那麼數據應該在jan-file中寫入,同樣每個月應該有一個單獨的文件。
如何建立在Hadoop中mapredude這樣的文件。我正在嘗試遞歸map-reduce,但沒有得到如何實現它?
PLS建議我一些解決方案。
謝謝。
使用MultipleOutputFormat類,輸出文件名可以從鑰匙,並從減速機減速機的輸出值來推斷。必須在用戶定義的OutputFormat類中實現MultipleOutputFormat#generateFileNameForKeyValue。
static class MyMultipleOutputFormat extends MultipleOutputFormat<Text, Text> {
protected String generateFileNameForKeyValue(Text key, Text value, String name) {
String keyString = key.toString();
String valueString = value.toString();
#return a combination of keyString and valueString
}
}
不適用於最新版本的Hadoop(新的mapreduce庫而不是舊的mapred)。這就是爲什麼我低估了。 – Tony 2013-12-16 03:09:13