2016-07-21 12 views
1

私は、GoogleのBigTableデータを管理するためにデータフローに 'org.apache.hadoop.hbase.client'パッケージを使用しています。接頭辞キーを使用して行の範囲を削除する

key = "PROV|CLI|800|20160714|8|30302.30301|ES"; 
byte[] byteKey = Bytes.toBytes(key); 
Delete delete = new Delete(byteKey); 

これは正常に動作しますが、私はで始まるすべての行を削除する方法が必要になり、それらのキー「| CLI | 800 | PROV」:

例は、行を削除するには

どうすればいいですか?

答えて

1

のCloud BigtableはAbstractBigtableAdmin. deleteRowRangeByPrefix(byte[])経由で効率的にこれを行うための機能を持っています

Connection c = ...; 
AbstractBigtableAdmin admin = (AbstractBigtableAdmin) c.getAdmin(); 
admin.deleteRowRangeByPrefix(Bytes.toBytes("PROV|CLI|800|")); 
admin.close(); 
+0

パッケージ「org.apache.hadoop.hbase.client」を使用して、とにかくありますか? –

+0

PrefixFilterを使用してスキャンを作成し、結果を反復処理してtable.batch(List )を使用して削除することができます。 –

関連する問題