天天看點

java hbase 條件查詢_Hbase多條件查詢資料(FilterList)

packagecn.edu.zucc.hbase;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.hbase.Cell;importorg.apache.hadoop.hbase.CellUtil;importorg.apache.hadoop.hbase.HBaseConfiguration;importorg.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client.*;importorg.apache.hadoop.hbase.HColumnDescriptor;importorg.apache.hadoop.hbase.HTableDescriptor;importjava.io.IOException;importorg.apache.hadoop.hbase.KeyValue;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importorg.apache.hadoop.hbase.filter.CompareFilter.CompareOp;importorg.apache.hadoop.hbase.filter.Filter;importorg.apache.hadoop.hbase.filter.FilterList;importorg.apache.hadoop.hbase.filter.SingleColumnValueFilter;importorg.apache.hadoop.hbase.util.Bytes;public classtest {public staticConfiguration configuration;public staticConnection connection;public staticAdmin admin;public static voidQueryByCondition3(String tableName) {try{

init();

Table table=connection.getTable(TableName.valueOf(tableName));

List filters = new ArrayList();

Filter filter1= new SingleColumnValueFilter(Bytes.toBytes("Name"), null, CompareOp.EQUAL,

Bytes.toBytes("lddddd"));

filters.add(filter1);

Filter filter2= new SingleColumnValueFilter(Bytes.toBytes("Score"), null, CompareOp.EQUAL,

Bytes.toBytes("90"));

filters.add(filter2);FilterList filterList1= newFilterList(filters);

Scan scan= newScan();

scan.setFilter(filterList1);

ResultScanner rs=table.getScanner(scan);

System.out.println(rs);

String delrow="";for(Result r : rs) {

System.out.println("獲得到rowkey:" + newString(r.getRow()));

delrow=newString(r.getRow());for(KeyValue keyValue : r.raw()) {

System.out.println("列:" + new String(keyValue.getFamily())+new String(keyValue.getQualifier()) + "====值:" + newString(keyValue.getValue()));

}

}

Delete delete= newDelete(delrow.getBytes());//删除指定列族//delete.addFamily(Bytes.toBytes(colFamily));//删除指定列//delete.addColumn(Bytes.toBytes(colFamily),Bytes.toBytes(col));

table.delete(delete);

System.out.println("删除成功!");

table.close();

close();

rs.close();

}catch(Exception e) {

e.printStackTrace();

}

}public static voidinit() {

configuration=HBaseConfiguration.create();

configuration.set("hbase.rootdir", "hdfs://localhost:9000/hbase");try{

connection=ConnectionFactory.createConnection(configuration);

admin=connection.getAdmin();

}catch(IOException e) {

e.printStackTrace();

}

}public static voidclose() {try{if (admin != null) {

admin.close();

}if (null !=connection) {

connection.close();

}

}catch(IOException e) {

e.printStackTrace();

}

}public static voidmain(String[] args) {try{

QueryByCondition3("person");

System.out.println("over111");

}catch(Exception e) {

e.printStackTrace();

}

}

}