2011-01-16 2 views
0

ファイルとcassandraからの入力を一度にマッピングすることによって、hadoopジョブを実行したいと考えています。 それは可能ですか?一度にファイルとcassandraからマップ操作を行う方法はありますか?

私はファイル入力ファイルをディレクトリ から取得するか、またはcassandraからデータを入力する方法を知っています。

しかし、私はそれらからの各入力を得る方法が可能かどうかはわかりません。

ここに私の状況を説明するヒントがあります。 データ形式は同じです。

このようなファイル: キーをvalue1の値2値3 ...

このようなカサンドラの列構造: キー列| |列名1 |列名2 |列名3 キー値| |列値1 |列vlaue2 |列の値3 ...

私はそれらから行を抽出し、各キーに基づいてデータを比較する必要があります。 はい、重複するキーや新しいキー、または削除されたキーを取得できます。

ありがとうございました。

答えて

1

これは2つのジョブで実行できます。まずマップ専用ジョブを作成して、カサンドラデータをHDFSにプルします。

そして、次に(2番目の仕事の)マップであなたが入力されたものにロジックベースのコンディショナリティーを持つことができますhttp://hadoop.apache.org/common/docs/r0.20.1/api/org/apache/hadoop/mapred/lib/MultipleInputs.html

からあなたのデータをする2つの場所を指定するには、「MultipleInputs」クラス「addInputPath」を使用あなたが見ているデータに基づいて(例えば、cassandraの最初の列に「cassandra」と言って、それを第2の仕事のマップクラスで認識させる)、減速機に行くときにそれを掃除してください。

関連する問題