如何使用FuzzyRowFilter获取时间序列数据

时间:2017-02-17 21:57:47

标签: java hbase

我有一张桌子,我将存储事件数据。可能每天有数十亿条记录。

这是我的rowKey的结构:

salt_bucket-clientUUID-eventUUID-timestamp-timeUUID
  • salt_bucket用于避免区域热点;是1 byte,映射到我的区域数。
  • clientUUID. 16 bytes;
  • eventUUID. 16 bytes;
  • timestamp将被覆盖到最近的时间段(1小时30分钟甚至更精细的时间段)。 8 bytes;

  • timeUUID - 版本1的UUID用于保证记录的唯一性,以防止upserts。 16 bytes;

在我的客户端Java应用程序中,我想执行范围扫描。输入参数将为timeWindow(开始和结束日期),clientUUIDeventUUID

我认为这份工作的最佳人选是FuzzyRowFilter。它允许在行键上使用字节掩码。这样我就可以在行密钥的clientIdeventId组件上进行完全匹配,同时为salt_buckettimeUUID留下?

问:但我的时间范围怎么办?如何让FuzzyRowFilter尊重我的时间窗口,以便我可以优化我的扫描操作?

0 个答案:

没有答案