11

我在用

 scan 'table_name', { COLUMNS => 'column_family:column_qualifier', LIMIT => 2 }

在 hbase 表中列出 2 行,但我想知道是否可以使用 hbase shell 实现以下目标:

问题

  1. 通过 hbase shell 列出所有行键?
  2. 只列出那些行,其行键中有一个特定的单词?
4

3 回答 3

38

A1。hbase(main):015:0> count 'table_name', INTERVAL => 1

A2。使用RowKey过滤器SubstringComparator

用法 :

hbase(main):003:0> import org.apache.hadoop.hbase.filter.CompareFilter
hbase(main):005:0> import org.apache.hadoop.hbase.filter.SubstringComparator
hbase(main):006:0> scan 'test', {FILTER => org.apache.hadoop.hbase.filter.RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'),SubstringComparator.new("word_by_which_you_want_to_search"))}
于 2013-05-31T11:42:05.210 回答
4

KeyOnlyFilter - 不接受任何参数。返回每个键值对的键部分。

语法:KeyOnlyFilter ()

于 2016-04-07T14:58:42.690 回答
1

早期的解决方案是:

scan 'test', { 
  COLUMNS => ['col_family_name:col_name'], 
  FILTER => "RowFilter(=, 'substring:the_string_to_be_compared')" 
}
于 2015-07-30T22:21:43.320 回答