Java 我能';在hbase中筛选数据
我试图从HBase中筛选一些数据,这是一个measureTimestamp字符串。过滤值超出我的过滤范围;这是我的密码:Java 我能';在hbase中筛选数据,java,hadoop,filter,hbase,Java,Hadoop,Filter,Hbase,我试图从HBase中筛选一些数据,这是一个measureTimestamp字符串。过滤值超出我的过滤范围;这是我的密码: try { FilterList filters = new FilterList(); Filter filter = new SingleColumnValueFilter( Bytes.toBytes("measure"), Bytes.toBytes("measureTimestamp"), Com
try {
FilterList filters = new FilterList();
Filter filter = new SingleColumnValueFilter(
Bytes.toBytes("measure"),
Bytes.toBytes("measureTimestamp"),
CompareOp.GREATER_OR_EQUAL,
Bytes.toBytes("0000000100")); // ??column1???aaa?????
filters.addFilter(filter);
Filter filter1 = new SingleColumnValueFilter(
Bytes.toBytes("measure"),
Bytes.toBytes("measureTimestamp"),
CompareOp.LESS_OR_EQUAL,
Bytes.toBytes("0000015000"));
filters.addFilter(filter1);
Filter filter2 = new SingleColumnValueFilter(
Bytes.toBytes("measure"),
Bytes.toBytes("captor_id"),
CompareOp.EQUAL,
new BinaryComparator(Bytes.toBytes("2")));
filters.addFilter(filter2);
Scan scan = new Scan();
scan.setFilter(filters);
rs = table.getScanner(scan);
for (Result r: rs) {
System.out.println("Cle Ligne :" + new String(r.getRow()));
for (KeyValue keyValue: r.raw()) {
System.out.println("-" + new String(keyValue.getQualifier()) + " = : " + new String(keyValue.getValue()));
}
}
rs.close();
} catch (IOException e) {
e.printStackTrace();
}
谁能帮我一下吗?你能更详细地解释一下你的问题吗?过滤后的值有什么问题?您能否提供一个HBase数据的小例子来重现您的问题?我尝试了使用front 000 series中的那些特殊字符串,因为当我仅比较100到15000之间的值时,它给出了超出此范围的结果