Skip to content

필사 모드: MapReduceとHBase Scanの性能比較

日本語
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
원문 렌더가 준비되기 전까지 텍스트 가이드로 표시합니다.

Background

HBaseでFull Scanを行う場合と、MapReduceでテーブル全体のrowを巡回する場合、どれくらいの時間差が生じるか比較してみる。

HBase Full Scan vs MapReduce

Full Scan

HBaseに基本的に内蔵されているScanという演算に何の制約条件も付けずに使用すると、テーブルの全rowを巡回できる。HBase shellにはcountというオペレーションがあり、これを利用して約500万件のrowを巡回したところ、約`235秒`、約`4分`かかった。

hbase:002:0> count 'usertable'

5119700 row(s)

Took 235.7437 seconds

=> 5119700

MapReduce Row Count

[HBase Row Count MapReduce開発方法](https://www.youngju.dev/blog/202306/how_to_develop_hbase_mapreduce)を参考にRow Countアプリケーションを作成し、実行したところ約`104秒`、`2分`もかからなかった。

root@latte01:~# hadoop jar hbase-mapreduce-test.jar RowCounterJob

23/06/11 00:02:36 INFO mapreduce.Job: Job job_1686391929383_0004 running in uber mode : false

23/06/11 00:02:36 INFO mapreduce.Job: map 0% reduce 0%

...

23/06/11 00:04:17 INFO mapreduce.Job: map 94% reduce 0%

23/06/11 00:04:19 INFO mapreduce.Job: map 100% reduce 0%

23/06/11 00:04:20 INFO mapreduce.Job: Job job_1686391929383_0004 completed successfully

23/06/11 00:04:20 INFO mapreduce.Job: Counters: 44

RowCounterMapper$Counters

ROWS=5119700

File Input Format Counters

Bytes Read=0

File Output Format Counters

Bytes Written=0

理論的には3台のNode Managerが作業を並列処理するため、約3倍速くなるはずだが、タスクを分割し統合する過程で生じるオーバーヘッドがあるため、約`2.25倍`程度速いことが確認できた。並列処理を行えるWorker Nodeが増えるほど演算速度はさらに速くなり、Full Scan時にMapReduceを活用すれば、シングルスレッドでScanするのとは比較にならないほど高速に処理できるだろう。したがって、HBaseで何らかのバッチ性ジョブを実行する必要があり、それを短時間で完了させなければならない場合は、MapReduceでの実行を検討する価値がある。

クイズ

MapReduceとHBase Scanの性能比較

HBaseに基本的に内蔵されているScanという演算に何の制約条件も付けずに使用すると、テーブルの全rowを巡回できる。HBase

shellにはcountというオペレーションがあり、これを利用して約500万件のrowを巡回したところ、約235秒、約4分かかった。

HBase Row Count MapReduce開発方法を参考にRow

Countアプリケーションを作成し、実行したところ約104秒、2分もかからなかった。 理論的には3台のNode

Managerが作業を並列処理するため、約3倍速くなるはずだが、タスクを分割し統合する過程で生じるオーバーヘッドがあるため、約2.25倍程度速いことが確認できた。並列処理を行えるWorker

Nodeが増えるほど演算速度はさらに速くなり、Full

Scan時にMapReduceを活用すれば、シングルスレッドでScanするのとは比較にならないほど高速に処理できるだろう。

현재 단락 (1/30)

HBaseでFull Scanを行う場合と、MapReduceでテーブル全体のrowを巡回する場合、どれくらいの時間差が生じるか比較してみる。

작성 글자: 0원문 글자: 1,732작성 단락: 0/30