hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dmitry Minkovsky <dminkov...@gmail.com>
Subject Get using `.addColumn()` and `.setFilter()`
Date Mon, 03 Aug 2015 20:39:34 GMT
I'm trying to construct a `Get` the does two things:

- Gets a cell by specific, known column qualifier, and
- Gets more cells by column qualifier prefix



public class Test {

    public static final byte[] FAMILY = Bytes.toBytes("f");

    public static void main(String[] args) throws IOException {

        // Make a connection


        Configuration config = HBaseConfiguration.create();
        Connection connection = ConnectionFactory.createConnection(config);

        Table table = connection.getTable(TableName.valueOf("t"));

        // Create a sample row

        byte[] row = Bytes.toBytes("row1");


        Put put = new Put(row)
            .addColumn(FAMILY, Bytes.toBytes("name"), Bytes.toBytes("dima"))
            .addColumn(FAMILY, Bytes.toBytes("sess:100"),
Bytes.toBytes("deadbeef"))
            .addColumn(FAMILY, Bytes.toBytes("age"), Bytes.toBytes("30"));

        table.put(put);


        // Query for the sample row


        Get get = new Get(row)
            .addColumn(FAMILY, Bytes.toBytes("name"))
            .setFilter(new ColumnPrefixFilter(Bytes.toBytes("sess")));

        Result result = table.get(get);

        System.out.println(result.size());

        Map<byte[], byte[]> map = result.getFamilyMap(FAMILY);

        if (map != null) {
            for (Map.Entry<byte[], byte[]> entry : map.entrySet()) {
                System.out.println("key: `" +
Bytes.toString(entry.getKey()) + "`, value: `" +
Bytes.toString(entry.getValue()) + "`");
            }
        }

        table.close();
        connection.close();
    }
}


The desire here is to get two columns/cells: "name" and "sess:100".
However, I get no cells. I think this happens because I only add "name" and
then filter it out. What is the best way to get the desired effect?

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message