如何基于Hbase中的列进行查询?
下表举例。我想按姓氏搜索所有记录。如何在Hbase中查询此信息如何基于Hbase中的列进行查询?,hbase,Hbase,下表举例。我想按姓氏搜索所有记录。如何在Hbase中查询此信息 Key First Name Last Name Sport 1 John Smith Baseball 2 Wayne Smith Baseball 3 Robert Reynolds Basketball 4 Mark Thompson Basketball 注: 这里我的行id是“Key”列 HBase不支持二级索引。因此,从技术上讲,您不能在接受该键的任何其他列上
Key First Name Last Name Sport
1 John Smith Baseball
2 Wayne Smith Baseball
3 Robert Reynolds Basketball
4 Mark Thompson Basketball
注:
这里我的行id是“Key”列 HBase不支持二级索引。因此,从技术上讲,您不能在接受该键的任何其他列上进行查询。 但是,您可以使用过滤器,例如
scan 'table', { FILTER => SingleColumnValueFilter.new(Bytes.toBytes('columnFamily'),
Bytes.toBytes('LastName'), CompareFilter::CompareOp.valueOf('EQUAL'),
BinaryComparator.new(Bytes.toBytes('Smith')))}
但这是低效的,因为这不会减少服务器端IO,因为整个扫描都会完成,结果会被过滤掉。但是,它确实会减少网络带宽,并减少客户端需要处理的数据量