如何设置开始和结束行键HBASE

时间:2016-10-11 09:40:29

标签: hadoop hbase

如果我有

等行键
a_c
b_c
j_f
f_d
d_c

我应该得到与_c匹配的所有行。如何在此处设置开始和停止行键。我试图从开始和停止行键中获取扫描结果,而不是使用rowfilter或其他过滤器类型。

2 个答案:

答案 0 :(得分:0)

如果您不想使用RowFilter,可以编写自己的过滤器功能。但是如果你不能编写自己的过滤功能并且不想使用RowFilter

,我建议你使用PrefixFilter

Java示例:

byte[] prefixF= Bytes.toBytes("_c");
Scan scan = new Scan(prefixF));
PrefixFilter prefixFilter = new PrefixFilter(prefixF);
scan.addFilter(prefixFilter);
ResultScanner resultScanner = table.getScanner(scan);

以上代码等于hbase> scan 'YourTablename', { FILTER => "PrefixFilter('_c')"}

答案 1 :(得分:0)

您可以使用Hbase STARTROW和ENDROW过滤器。它基本上在行键范围(不包括ENDROW)之间扫描数据。

 scan 'table_name', {STARTROW=>"<start_row_key>", ENDROW=>"<end_row_key>"}