在java中读取hbase中的表并增加数据或按条件查询数据

java 读取hbase中的表 并增加数据或过滤查看数据

Maven中

导入hbase-client 1.2.0、hbase-server 、 hbase-common

public class ConnTest{
	Configuration conf = HBaseConfigration.create();
	conf.set("hbase.zookeeper.quorum","192.168.56.100:2181");
	Connection conn = ConnectionFactory.createConnection(conf);
	Table users = conn.getTable(TableName.valueof("mydemo:users"));

查看HBase中的表多数数据

Scan scan = new Scan();
	ResultScanner res = users.getScanner(scan);
	for(Result rs : res){
		System.out.println(Bytes.toString(rs.getValue("cf".getBytes(),"fname".getBytes())));
		System.out.println(Bytes.toString(rs.getValue("base".getBytes(),"username".getBytes()))+":"+rs.getValue("details".getBytes(),"like".getBytes()));
	}
	res.close();
	conn.close();

查看HBase中的表一个行键的数据

Get get = new Get("1".getBytes());
        Result result = customer.get(get);
        System.out.println(Bytes.toString(result.getValue("cf".getBytes(),"fname".getBytes())));

插入数据

Put putt = new Put("5".getBytes()); //这里的 "5" 是行键
	putt.addColumn("base".getBytes(),"username".getBytes(),"gugang".getBytes());
	putt.addColumn("base".getBytes(),"age".getBytes(),"22".getBytes());
	putt.addColumn("details".getBytes(),"like".getBytes(),"sleep,eat".getBytes());
	users.put(putt);
	conn.close();

过滤查看数据

SingleColumnValueFilter scvf =
                new SingleColumnValueFilter("cf".getBytes(),
                        "fname".getBytes(),
                       CompareFilter.CompareOp.EQUAL,
                        new RegexStringComparator("J.*"));
       Scan scan = new Scan();
       scan.setFilter(scvf);
        ResultScanner res = customer.getScanner(scan);
        for (Result rs : res) {
            System.out.println(Bytes.toString(rs.getValue("cf".getBytes(), "fname".getBytes()))
                    +":"+rs.getValue("cf".getBytes(),"lname".getBytes()));
        }
        res.close();
        conn.close();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值