我有一个HBase表,有100M +行和1百万+列.每行只有2到5列的数据.只有1个列系列.
我想找出所有不同的qualifiers
(列)column family
.有快速的方法吗?
我可以考虑扫描整个表格,然后获取familyMap
每一行,获取qualifier
并添加到一个Set<>
.但这将非常缓慢,因为有100M +行.
我们可以做得更好吗?
HBase 可以被视为分布式NavigableMap<byte[], NavigableMap<byte[], NavigableMap<byte[], NavigableMap<Long, byte[]>>>>
关于所有区域服务器中可用的所有限定符列表,没有“元数据”(例如集中存储在主节点中的数据)。
因此,如果您有一次性用例,那么唯一的方法是扫描整个表并在 a 中添加限定符名称Set<>
,就像您提到的那样。
如果这是一个重复用例(加上如果您可以自行决定将组件添加到技术堆栈中),您可能需要考虑添加 Redis。可以使用Redis Set以分布式方式维护限定符集。
归档时间: |
|
查看次数: |
6130 次 |
最近记录: |