私は012baseとHbaseのやり方、または私の問題を解決する他の種類のパターンをどうやって行うかを考えようとしています。私はこれを非常に簡単に行うMapReduceプログラムを書くことができましたが、データが既に必要な方法でソートされているという事実を利用することができればと思っています。次のようにHbaseのリードとラグ
私の問題は、次のとおりです。
(employee name + timestamp) => data:salary
ので、いくつかの例のデータがあるかもしれない:
miller, bob;2010-01-14 => data:salary=90000
miller, bob;2010-11-04 => data:salary=102000
miller, bob;2011-12-03 => data:salary=107000
monty, fred;2010-04-10 => data:salary=19000
monty, fred;2011-09-09 => data:salary=24000
は、私は何をしたいの計算である私はのrowKey等が見える価値を持っています給料の変化は、記録によって記録する。私はレコード間の差異に上記のデータを変換したい:
miller, bob;2010-01-14 => data:salarydiff=90000
miller, bob;2010-11-04 => data:salarydiff=12000
miller, bob;2011-12-03 => data:salarydiff=5000
monty, fred;2010-04-10 => data:salarydiff=19000
monty, fred;2011-09-09 => data:salarydiff=5000
私は、必要に応じてのrowKey戦略を変更するためのアップです。
レコード差分でレコードを必要とする場合は、どうしたらいいですかそれを行うためにmap/reduce(実際には地図だけ)を書くのですか? –
マップオンリージョブの問題は、同じ個人の2つの行キーが2つのマップタスクにまたがっている場合をどのように扱うかです。 –
私は今これを行うmapreduceジョブを持っています。それがすでにソートされているときに、減速機にデータをシャッフルするだけで馬鹿に見えます。 –