假设我们有一个表my_table,其 RowKey 是以用户 ID 为前缀,后面跟着一些时间戳。例如: 我们希望从中有效地检索以user1为前缀的 RowKey 的数据。 使用前缀过滤器 在HBase Shell 中,可以使用前缀过滤器来有效进行此类查询。前缀过滤器通过scan命令提供。不过,在查询前缀 RowKey 时,需要使用FILTER语法。 使用代码示例 ...
* row前缀过滤器,查询以00开头的所有前缀的rowkey */ @Test public void prefixFilter() throws IOException { Scan scan = new Scan(); PrefixFilter prefixFilter = new PrefixFilter("00".getBytes()); scan.setFilter(prefixFilter); ResultScanner resultScanner = table.getScanner(scan); for (Result resu...
rowKey过滤器:RowFilter 行键过滤器 通过RowFilter与BinaryComparator过滤比rowKey 1500100010小的所有值出来 /** * 需求1:通过RowFilter与BinaryComparator过滤比rowKey 1500100010小的所有值出来 */@TestpublicvoidrowFilterAndBinaryFun(){try{//将表名封装成TableName的对象TableNamestudents=TableName.valueOf("students"...
echo $rowkey echo"scan '${tablename}',{ROWPREFIXFILTER => '${rowkey}'}"|hbase shell|awk -F'''{print $1'\t'}'> ./file.txt#删除前6行非表中数据sed -i'1,6d'file.txt#删除最后一行(空行)sed -i'$d'file.txt#删除最后一行(总条数)sed -i'$d'file.txt cat ./file.txt|awk'{pri...
如果你在hbase表中存在一些特征相同的记录,实际上就可以通过设置Filter的方式进行检索过滤。 比如这个特征是前缀相同。 ROW Jerry Jerry1 Jerry2 可以发现这三条记录都是以Jerry开头的row key. 那么我们如何检索呢。很简单。 如果是在hbase shell中 scan ‘scores’, {FILTER => org.apache.hadoop.hbase.filter...
72. //3.RowFilter:基于rowkey来过滤数据;73. // hbase.RowFilter("scores","zhangsan01");74. //4.PrefixFilter:基于rowkey前缀来过滤数据;75. // hbase.PrefixFilter("scores","zhang");76. //后缀过滤数据 77. // hbase.HouZui("scores");78. //5,ColumnPrefixFilter:...
由于其原生带有PrefixFilter这种对ROWKEY的前缀过滤查询,因此想着实现的后缀查询的过程中,发现这一方面相对来说还是空白。 因此,只能采用一些策略来实现,主要还是采用正则表达式的方式。 主要代码如下: 代码语言:js 复制 Filter filter2=newRowFilter(CompareFilter.CompareOp.EQUAL,// co RowFilterExample-2-Filter2 Another...
)"FILTER 中支持多个过滤条件通过括号、AND 和 OR 进行组合:# 列名中的前缀为birth且列值中包含1998的数据scan 'Student', FILTER=>"ColumnPrefixFilter('birth') AND ValueFilter ValueFilter(=,'substring:1998')"PrefixFilter 用于对 Rowkey 的前缀进行判断:scan 'Student', FILTER=>"PrefixFilter('wr')"
shell过滤器种类:1.TimestampsFilter,时间戳过滤器2.QualifierFilter,列名过滤器,需要指定比较参数和比较值QualifierFilter(>=,'binary:xyz')3.ROWPREFIXFILTER,rowkey前缀过滤器 javaapi过滤器种类: 第一类:比较过滤器;通过比较的工具类,来实现过滤,返回符合的rowkey所有的数据1.RowFilter2.FamilyFilter3.QualifierFilter...
HBase shell 命令介绍 HBaseshell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况。安装完HBase之后,如果配置了HBase的环境变量,只要在shell中执行hbase shell就可以进入命令行界面,HBase的搭建可以参考我的上一篇文章:hbase分布式集群搭建...