2017-04-19 8 views
0

Web検索の逆インデックスを構築するためにMapReduceを使用しています。私はあなたがここでそれを設定し、1つのキータイプでのMapReduceを使用する方法を知っている:複数のキータイプを持つMapReduceマッパーとレデューサー

しかし、私のキーは、異なるタイプのものとすることができるならばどのような、サポートされていることでしょうか?たとえば、1つのキーはテキストのみであってもよく、別のキーはPairOfWritablesであってもよい。マッパーからレデューサー、そしてレデューサーから最終出力まで、異なるキータイプを設定したいと思います。私は、異なるキーとクラスを指定できるMultipleOutputsというクラスがあるのを見ましたが、これが正しい状況であるかどうかは分かりません。インターネットから、MultipleOutputsはレデューサーメソッドでのみ使用されているようです、マッパーではありません。

+0

私はHadoopのエキスパートではありませんが、同じデータを複数回渡すことが予想される状況ですあなたが必要とするさまざまなキーを取得するために設定します。また、Luceneを見たことがありますか? – markspace

+0

@markspaceは、すべてのデータを何回も実行するには非効率的ではないでしょうか?また、私は実験のためにこれをやっています。 – Alessandro

+0

基本的にはすべてO(n)ですが、入力データが不変の場合は、タスクを並行して実行できます。私が言ったように、私は専門家ではありませんが、これを行うためのより良い方法があるかもしれません。 – markspace

答えて

0

ここにアイデアがあります。どのようにして、削減に渡そうとしているデータの種類を取ることができる新しいクラスを作成するのですか?クラスには、データをStringとして表すtoString()メソッドが含まれます。この文字列を使用して、HadoopのTextクラスをキーとして使用できるようにするには

関連する問題