public void initData() { IndexHTable hTable = null; try { hTable = new IndexHTable(conf, tableName); hTable.setAutoFlushTo(false); List<Put> puts = new ArrayList<Put>(); byte[] familyBytes = columnFamily.getBytes(); byte[] qualifier = columnName.getBytes(); for (int i = 0; i < 100; i++) { Put put = new Put(Bytes.toBytes("row" + i)); put.add(familyBytes, qualifier, ("value" + i).getBytes()); puts.add(put); } hTable.put(puts); hTable.flushCommits(); } catch (Exception e) { LOG.error(e.getMessage(), e); } finally { try { hTable.close(); } catch (IOException e) { LOG.error("htable close error"); } } }
public void scan() { IndexHTable hTable = null; try { hTable = new IndexHTable(conf, tableName); Scan scan = new Scan(); scan.setFilter( getInFilter( columnFamily.getBytes(), columnName.getBytes(), "value3".getBytes(), "value9".getBytes())); scan.setIndexColumn(Bytes.toBytes(indexName)); ResultScanner rs = hTable.getScanner(scan); Result result = null; while (null != (result = rs.next())) { System.out.println("================" + Bytes.toString(result.getRow())); } } catch (Exception e) { } }