Hbaseの行数をカウントする3つの方法の要約



Summary 3 Ways Count Number Rows Hbase



特定のhbaseテーブルの行数を数える必要がある場合があります。 hbase自体はSQL言語をサポートしていないため、他の方法でしか実現できません。 hbaseテーブルの行数は、次の方法でカウントできます。

1.count command
最も直接的な方法は、hbaseシェルでcountコマンドを実行して、行数をカウントすることです。



hbase> count ‘t1′ hbase> count ‘t1′, INTERVAL => 100000 hbase> count ‘t1′, CACHE => 1000 hbase> count ‘t1′, INTERVAL => 10, CACHE => 1000

その中で、INTERVALは統計行間隔、デフォルトは1000、CACHEは統計データキャッシュです。この方法は非常に非効率的であり、テーブルの行数が多い場合はお勧めしません。
2. Call Mapreduce

$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter ‘tablename’

この方法は、前の方法よりもはるかに効率的です。呼び出されたhbasejarに含まれる行数をカウントするクラス。



3.hive over hbase
ハイブとhbaseの間の関連付けテーブルをすでに確認している場合は、ハイブでSQLステートメントを直接実行して、hbaseテーブルの行数をカウントできます。
hbasetable上のhiveのテーブル構築ステートメントは次のとおりです。
/ ハイブとhbaseの間に関連付けテーブルを作成します /

CREATE TABLE hive_hbase_1(key INT,value STRING) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ('hbase.columns.mapping'=':key,cf:val') TBLPROPERTIES('hbase.table.name'='t_hive','hbase.table.default.storage.type'='binary')

/ 既存のhbaseに関連付けられたハイブ /

CREATE EXTERNAL TABLE hive_hbase_1(key INT,value STRING) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ('hbase.columns.mapping'=':key,cf:val') TBLPROPERTIES('hbase.table.name'='t_hive','hbase.table.default.storage.type'='binary')