MapReduceでHBaseへ書き込むときの注意点

sechiroさんとueshinさんがMapReduceでHBaseへ書き込む際の注意点について話していました。
7
せちろー @sechiro

RT @hishidama: 先日@ueshinさんから教えていただいたTableOutputFormatの危険性についてのメモを書いた。http://t.co/Lmt1SQTK #hbase #hadoop

2012-04-29 01:30:31
せちろー @sechiro

HBaseのTableOutputFormatの危険性って、前に見てたautoFlushがFalseになってるからってことかな? Hadoop Hacksを見ればよいか。単純な追記で使うなら問題ないけど、データの更新みたいな処理だとTaskが落ちた時には戻せないよってことだと予想

2012-04-29 01:33:44
Takuya UESHIN @ueshin

@sechiro あ、まさにその話ですよ。

2012-04-29 01:35:18
せちろー @sechiro

@ueshin やた! 前に聞いたときにそうなるなーと思ったんですよね。バルクロードの方がいいってのは、データ更新の時にReduceが終わったことを確認して、まとめて書き込めってことでしょうか?

2012-04-29 01:36:47
せちろー @sechiro

HBaseをMapReduceの書き込み先に使う時には、単純なTaskのリトライだけで済むような処理しないと実装が大変になりそう。

2012-04-29 01:44:26
Takuya UESHIN @ueshin

@sechiro TableOutputFormatには先日の問題もありますし、MapReduceとかでドカンとか書き込むのってちゃんと設定とかしてやらないと結構落ちやすいんですよね〜。

2012-04-29 01:45:25
せちろー @sechiro

@ueshin 先日、落ちるのも実験してみましたw 落としたら復旧大変でヒドいことにw とはいえ、MapReduceで使えるってのが大きなメリットだと思うので、うまく使える方法を考えたいんですね。

2012-04-29 01:49:02
Takuya UESHIN @ueshin

@sechiro そうですね。直接MapReduceから出力するのであれば、出力中にリージョン分割やメジャーコンパクションが起こらないようにするだけでも随分違います。

2012-04-29 01:52:52
せちろー @sechiro

@ueshin 確かにJob中二リージョン分割とかメジャーコンパクションがフリーダムに起こると確かに危険そうですね。。。HBaseは使い方も含めてちゃんと設計してあげないとですね。いつもすごい早くのアドバイスありがとうございますー!

2012-04-29 01:59:21
せちろー @sechiro

. @ueshin さんのあり得ない速さのレスっぷりから、さらにHadoop Hacksへの期待が高まりますね。

2012-04-29 02:02:44
せちろー @sechiro

ステマではありません。

2012-04-29 02:02:57
Takuya UESHIN @ueshin

@sechiro いえいえ、がんばってくださ〜い。

2012-04-29 02:03:08
せちろー @sechiro

@ueshin ありがとうございますー! Hadoop Hacksもポチったので読むの楽しみにしてますー

2012-04-29 02:03:37
Takuya UESHIN @ueshin

@sechiro わー、ありがとうございます!

2012-04-29 02:04:00
Sho Shimauchi @shiumachi

MR自分で書いてHBaseに書きこむのは、禁止とは言わないまでも「上級者向け」って警告しといた方がいい気がする / “MapReduceでHBaseへ書き込むときの注意点 - Togetter” http://t.co/YgeX5Wqp

2012-04-29 11:08:40