更新时间:2022-07-19 GMT+08:00
分享

读MOB数据

功能简介

HBase MOB数据读出与普通HBase数据的读出没有什么区别,对客户来说是透明的。为了使用HBase MOB功能需要在“hbase-site.xml”中添加HBase MOB相关的配置项,具体请参阅https://hbase.apache.org/book.html#hbase_mob,除此之外还需要在指定column family上开启MOB功能。

代码样例

以下代码片段在com.huawei.bigdata.hbase.examples包的“HBaseExample”类的testMOBDataRead方法中

public void testMOBDataRead() {
    LOG.info("Entering testMOBDataRead.");
    ResultScanner scanner = null;
    Table table = null;
    Admin admin = null;
    try {

        // get table object representing table tableName
        table = conn.getTable(tableName);
        admin = conn.getAdmin();
        admin.flush(table.getName());
        Scan scan = new Scan();
        // get table scanner
        scanner = table.getScanner(scan);
        for (Result result : scanner) {
            byte[] value = result.getValue(Bytes.toBytes("mobcf"), Bytes.toBytes("cf1"));
            String string = Bytes.toString(value);
            LOG.info("value:" + string);
        }
        LOG.info("MOB data read successfully.");
    } catch (Exception e) {
        LOG.error("MOB data read failed ", e);
    } finally {
        if (scanner != null) {
            scanner.close();
        }
        if (table != null) {
            try {
                // Close table object
                table.close();
            } catch (IOException e) {
                LOG.error("Close table failed ", e);
            }
        }
        if (admin != null) {
            try {
                // Close the Admin object.
                admin.close();
            } catch (IOException e) {
                LOG.error("Close admin failed ", e);
            }
        }
    }
    LOG.info("Exiting testMOBDataRead.");
}
分享:

    相关文档

    相关产品