2016-11-28 14 views
0

HadoopとMapreduceを初めて使用しています。 mapreduceを使用して2つのファイルを比較する必要があります。これらのファイルのサイズが非常に大きい(> 10GB)ので、私はmapreduceに行く必要があります。私の質問は、どのように私は異なるマッパーから2つの異なる入力ファイルを取得し、Reducer.Iでこれらの2つのファイルを比較するjarにこのアプリケーションを変換し、Amazon EMRで実行する必要があります。私はこれをWebで適切なチュートリアルを見つけることができません。親切に私にこれを行うためのアイデアを教えてください。Hadoop Mapreduceを使用した2つのExcelファイルの比較

+0

私はあなたが行でExcelシートの列を比較したいだろうと推測。両方のスプレッドシートに2つのスプレッドシートの行を関連付ける共通の列がありますか? – Amit

+0

Amit、実際には、両方のExcelファイルの各セルを比較する必要があります。私はそれをループすることができます。しかし、その前に私はファイルをExcelに読み込み、それを減速機に送る必要があります –

+0

すぐにマッパーやレデューサーに向かって急いではいけません。各セルの比較は、第1のスプレッドシートのA1と第2のA1の平均を比較していますか?他のスプレッドシートにある他のすべてのセルとA1? – Amit

答えて

0

あなたの状況では分散キャッシュが便利だと思います。私は大きなファイルを持つ分散キャッシュを使用していませんが、それがあなたのために働くかどうかを探って教えてください。ここに私のコメントへのご回答に基づいて

+0

ご返信ありがとうございます。私はそれを試み、あなたに知らせるでしょう。 –

0

は、私はあなたが、プレーン地図-減らす使用してそれを実装している場合、それが行われるべきだと思うかである -

  1. Excelスプレッドシートを読み込み、カスタムInputFormatを作成します。
  2. この場合、RecordReaderにはExcelスプレッドシートを読み込み、セルの場所(A1など)をキーとして、その内容をValueとして出力する必要があります。
  3. ファイルが読み込まれたら、Key(セルの場所)を使用して2つのデータセットに対して内部結合を行う必要があります。
  4. 投稿を投稿すると、セルの内容を比較できます。

普通のmap-reduceを抽象化するApache PigまたはCascadingの種類を調べると役に立ちます。

よろしく、 アミット

関連する問題