hbase行键过滤器RowFilter
来源:互联网 发布:mac版我的世界存档 编辑:程序博客网 时间:2024/05/16 15:40
转至http://blog.chinaunix.net/uid-77311-id-4617954.html
hbase行键过滤器RowFilter 2014-11-13 09:57:00
分类: HADOOP
RowFilter是用来对rowkey进行过滤的,比较符如下:
Operator
Description
LESS
小于
LESS_OR_EQUAL
小于等于
EQUAL
等于
NOT_EQUAL
不等于
GREATER_OR_EQUAL
大于等于
GREATER
大于
NO_OP
排除所有
Comparator
Description
Bytes.compareTo()比较BinaryPrefixComparator
和
Does not compare against an actual value but whether a given one is null, or not null.
Performs a bitwise comparison, providing a BitwiseOp class with AND, OR, and XOR operators.
contains()来判断<span "="" style="word-wrap: break-word; font-size: 9pt;">
下面是相关比较符的例子
点击(此处)折叠或打开
- package com.hxl;
- import java.io.IOException;
- import org.apache.hadoop.conf.Configuration;
- import org.apache.hadoop.hbase.Cell;
- import org.apache.hadoop.hbase.CellUtil;
- import org.apache.hadoop.hbase.KeyValue;
- import org.apache.hadoop.hbase.client.HTable;
- import org.apache.hadoop.hbase.client.Result;
- import org.apache.hadoop.hbase.client.ResultScanner;
- import org.apache.hadoop.hbase.client.Scan;
- import org.apache.hadoop.hbase.filter.BinaryComparator;
- import org.apache.hadoop.hbase.filter.CompareFilter;
- import org.apache.hadoop.hbase.filter.Filter;
- import org.apache.hadoop.hbase.filter.RowFilter;
- import org.apache.hadoop.hbase.util.Bytes;
- import com.hxl.ConnectDB;
- public class RowFilterTest {
- public void rowfilter(String tablename, String rowkeyvalue) {
- Configuration configuration = null;
- configuration = new ConnectDB().getConf();
- try {
- HTable table = new HTable(configuration, tablename);
- Filter filter1 = new RowFilter(CompareFilter.CompareOp.EQUAL,
- new BinaryComparator(Bytes.toBytes(rowkeyvalue)));
- // EQUAL =
- Scan s = new Scan();
- s.setFilter(filter1);
- ResultScanner rs = table.getScanner(s);
- for (Result r : rs) {
- System.out.println("rowkey:" + new String(r.getRow()));
- for (KeyValue keyValue : r.raw()) {
- System.out.println("列族:" + new String(keyValue.getFamily())
- + " 列:" + new String(keyValue.getQualifier()) + ":"
- + new String(keyValue.getValue()));
- }
- }
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
相关的过滤方法使用:
提取rowkey以01结尾数据
Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,new RegexStringComparator(".*01$"));
提取rowkey以包含201407的数据
Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,new SubstringComparator("201407"));
提取rowkey以123开头的数据
Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,new BinaryPrefixComparator("123".getBytes()));
-- The End --
0 0
- hbase行键过滤器RowFilter
- hbase行键过滤器RowFilter
- hbase行键过滤器RowFilter
- Hbase行键过滤器RowFilter
- Hbase RowFilter
- hbase RowFilter
- hbase RowFilter 查询
- HBase过滤器
- HBase过滤器
- hbase过滤器
- hbase过滤器
- HBase过滤器
- hbase过滤器
- Hbase过滤器
- hbase 过滤器
- HBase过滤器
- Hbase过滤器
- Hbase 过滤器
- myeclipse修改控制台Console在运行/测试模式下的输出字符数量
- 如何给table加滚动条
- unity资料大全
- android开发之NullPointerException
- 获取图片、屏幕像素并纠正bufferedimage导入失败的问题Ps:手机端android的图片和屏幕像素获取正确方式
- hbase行键过滤器RowFilter
- Tomatoes and Basil
- 算法之插入、归并排序,最大公共子串lcs
- leetcode || 45、 Jump Game II
- GOOD_servlet中service、doGet、doPost 的关系
- Eclipse + PyDev 无法导入模块
- 一个大学三年级IT实习生的总结,很实用
- 数据说话:怎样的程序员最抢手?
- 2015.3.30