HBase CRUD Filter

Submitted by Lizhe on Mon, 05/01/2017 - 18:31

 

package hbase.sample;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
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;

public class TestFilter {
    
    static Configuration conf = HBaseConfiguration.create();
    static {
        conf.set("hbase.zookeeper.quorum", "lzvm");
        conf.set("hbase.rootdir","hdfs://lzvm:9000/hbase" );
        conf.set("hbase.zookeeper.quorum", "lzvm");
    }

    public static void main(String[] args) throws IOException {
        HTable table = new HTable(conf,"test");
        Scan scan = new Scan();
        Filter filter = new RowFilter(CompareFilter.CompareOp.LESS, new BinaryComparator(Bytes.toBytes("row3")));
        scan.setFilter(filter);
        ResultScanner scanner = table.getScanner(scan);
        try {
            scanner = table.getScanner(scan);
            for(Result result : scanner){
                System.out.println(result);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            scanner.close();
            table.close();
        }
    }

}
 

 row1                                column=cf:column1, timestamp=1493569173421, value=data1-5                                              
 row2                                column=cf:column2, timestamp=1493124770456, value=data2                                                
 row3                                column=cf:column3, timestamp=1493124770470, value=data3                                                
 row4                                column=cf:column4, timestamp=1493124770474, value=data4                                                
 row5                                column=cf:column5, timestamp=1493124770479, value=data5 
keyvalues={row1/cf:column1/1493569173421/Put/vlen=7/seqid=0}
keyvalues={row2/cf:column2/1493124770456/Put/vlen=5/seqid=0}
Filter filter = new FamilyFilter(CompareFilter.CompareOp.EQUAL, new BinaryComparator(Bytes.toBytes("cf")));
keyvalues={row1/cf:column1/1493569173421/Put/vlen=7/seqid=0}
keyvalues={row2/cf:column2/1493124770456/Put/vlen=5/seqid=0}
keyvalues={row3/cf:column3/1493124770470/Put/vlen=5/seqid=0}
keyvalues={row4/cf:column4/1493124770474/Put/vlen=5/seqid=0}
keyvalues={row5/cf:column5/1493124770479/Put/vlen=5/seqid=0}
Filter filter = new QualifierFilter(CompareFilter.CompareOp.EQUAL, new BinaryComparator(Bytes.toBytes("height")));
keyvalues={rowkey1/columnfamily1:height/1493041312304/Put/vlen=3/seqid=0, rowkey1/columnfamily2:height/1493041319599/Put/vlen=3/seqid=0}
keyvalues={rowkey2/columnfamily2:height/1493041508531/Put/vlen=3/seqid=0}