Hbase更新用例

Hbase更新用例,hbase,bigdata,Hbase,Bigdata,我有以下hbase用例: 一个Hbase表,具有一个行键(使用md5哈希组合构建)和两个列族。从逻辑上讲,该表存储句子。该表有数亿条记录 我有一个连接到这个hbase表的webapp,需要根据某些条件随机导出句子。目前,只需使用rowkey即可查找所有这些条件。 通常,一个导出只包含几百个句子。重要的限制是,一旦导出某些段,它们就不应出现在任何后续导出中 所以我的问题与此相关-我应该如何确保相同的段不会再次导出 每次导出后,是否应通过更新标志来“标记”导出的段?这样做的缺点是,在查看哪些段符合我

我有以下hbase用例: 一个Hbase表,具有一个行键(使用md5哈希组合构建)和两个列族。从逻辑上讲,该表存储句子。该表有数亿条记录

我有一个连接到这个hbase表的webapp,需要根据某些条件随机导出句子。目前,只需使用rowkey即可查找所有这些条件。 通常,一个导出只包含几百个句子。重要的限制是,一旦导出某些段,它们就不应出现在任何后续导出中

所以我的问题与此相关-我应该如何确保相同的段不会再次导出

每次导出后,是否应通过更新标志来“标记”导出的段?这样做的缺点是,在查看哪些段符合我的条件时,我不能仅使用rowkey来标识这些记录,还可以使用该标志。因此,我需要使用过滤器,我知道这要慢得多


有没有更好的方法

谁为您传递行键?你能确保他发送唯一的行键吗

如果导出后不需要数据。为什么不从hbase表中删除这句话呢


如果您对上述两个问题的回答都是“否”,那么就别无选择,只能在表中保留一个标志。

我最终使用了过滤器,因为它们似乎运行得足够快,适合我的用例。我唯一关心的是,比方说,我有一些行要更新标志。如果该更新未完成(假设需要更新大量行),而其他用户希望导出相同条件下的数据,该怎么办?他会看到所有的更新吗?我在读Hbase的地方读到了“扫描必须反映出在构建扫描仪之前发生的所有突变”。这是否意味着我的假设是安全的?