HBase-scan API 通过scan读取表中数据

来源:互联网 发布:淘宝店铺商品找不到了 编辑:程序博客网 时间:2024/04/29 09:23

直接贴代码啦

/** *  * @param zkIp * @param zkPort * @param tablename * @param startRow   传null扫全表 * @param stopRow 已~结尾 * @throws Exception */public static void scanTable(String zkIp,String zkPort,String tablename,String startRow,String stopRow) throws Exception {HTablePool pool;Configuration config = HBaseConfiguration.create();config.set("hbase.zookeeper.quorum",zkIp);//config.set("hbase.zookeeper.property.clientPort", zkPort);pool = new HTablePool(config, 2);HTableInterface hbTable = null;try {hbTable = pool.getTable(tablename); // 表名ResultScanner rs = null;Scan scan = new Scan();// scan.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("qual1"));扫某一列if (startRow != null) { // 设置扫描的范围scan.setStartRow(Bytes.toBytes(startRow));}if (stopRow != null) {scan.setStopRow(Bytes.toBytes(stopRow));}rs = hbTable.getScanner(scan);hbTable.close();for (Result r : rs) {// 按行去遍历for (KeyValue kv : r.raw()) {// 遍历每一行的各列StringBuffer sb = new StringBuffer().append(Bytes.toString(kv.getRow())).append("\t").append(Bytes.toString(kv.getFamily())).append("\t").append(Bytes.toString(kv.getQualifier())).append("\t").append(Bytes.toString(kv.getValue()));System.out.println(sb.toString());// kv.getRow() key// kv.getFamily() cf1// kv.getQualifier() 列名// kv.getValue() value}}} catch (Exception e) {System.out.println(e.getMessage());}finally{pool.close();}      }


1 0
原创粉丝点击