【发布时间】:2020-08-12 21:19:23
【问题描述】:
我有大量数据要存储到 HBase 中。它基本上是包含产品信息的 csv 文件:
date|product_id|client_id|client_name
2020-08-02|152341|1|Tom
2020-08-02|152341|2|Kate
用户应该能够通过(date, product_id)(应该是API 参数)检索产品信息列表。
(date, product_id) 不是唯一的。
这种情况下,HBase中的rowkey如何设计?
由于(date, product_id) 不是唯一的,我必须在向 HBase 插入数据时为其添加 UUID。所以它看起来像这样:2020-08-02_152341_[UUID]。它可以正常工作,但在这种情况下会出现热点问题。
但是如果我像01-2020-08-02_152341_[UUID] 这样添加盐/哈希,我怎么知道 UUID 是什么?它不是用户输入的一部分。所以我既不能使用 startKey/endKey(因为有盐)也不能重建 rowkey。
【问题讨论】:
标签: hbase