@Test public void insert_rowkey_prefix_date() throws IOException { System.out.println(errorTable); errorTable.setAutoFlushTo(false); List<Put> puts = new ArrayList<Put>(); long t1 = System.currentTimeMillis(); for (int i = 0; i < 10000000; i++) { String uuid = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 8); Put put = new Put(Bytes.toBytes("20150705" + "_" + uuid)); put.add( fBytes, Bytes.toBytes("stacktrace"), Bytes.toBytes("java.io.IOException:file not found" + UUID.randomUUID().toString())); // puts.add(put); errorTable.put(put); if (i % 10000 == 0) { errorTable.flushCommits(); } } errorTable.flushCommits(); long t2 = System.currentTimeMillis(); System.out.println("count=" + puts.size() + ",t2-t1=" + (t2 - t1)); // errorTable.close(); }
@Test public void scan_by_prefix_date() throws IOException { FilterList fl = new FilterList(); Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL, new SubstringComparator("20150903")); fl.addFilter(filter); Scan scan = new Scan(); scan.setFilter(fl); long t1 = System.currentTimeMillis(); ResultScanner rs = errorTable.getScanner(scan); Result result; int count = 0; while ((result = rs.next()) != null) { System.out.println("rowkey=" + new String(result.getRow())); System.out.println( "value=" + new String(result.getValue(fBytes, Bytes.toBytes("stacktrace")))); System.out.println(); count++; } long t2 = System.currentTimeMillis(); System.out.println("count=" + count + ",t2 - t1=" + ((t2 - t1) / 1000)); }