1

これ本当に行き詰まる。Map/Reducer クラスが何も表示できないのはなぜですか? Reducer クラスに次のコードを追加します。

@Override
public void reduce(Text key, Iterable<LongWritable> values, Context context)
{
    // Standard algorithm for finding the max value
    long sum = 0;
    for (LongWritable value : values) {
        sum++; 
    }

    try
    {
        context.write(key, new LongWritable(sum));
        System.out.println("Reducer exits...");
    }
    catch (Exception e)
    {
        System.out.println(e);
    }
}

「System.out.println("reducer exits...");」という行が表示される理由 Hadoop プログラムを実行すると、コンソールに表示できません: hadoop jar xxx.jar 入力 出力

4

1 に答える 1

0

Hadoop は、Map/Reduce クラスの System.out 出力をログ ファイルにリダイレクトします。ログを見ると、印刷している行が見つかります。

ログは次の場所にあります。

http://<jobtracker_address>.50030/jobtracker.jsp -> select your completed job -. select the reduce task -> tasknumber -> task logs -> stdout logs

または、ログ ディレクトリ パスに移動し、ジョブの適切なディレクトリに移動して、そこで stdout ログを確認します。

于 2013-07-16T22:38:47.377 に答える