Я пытаюсь понять, как лучше всего создать ключ для моей таблицы HBase.
Мой вариант использования:
Структура прямо сейчас
PersonID | BatchDate | PersonJSON
Когда что-то в человеке изменяется, в Hbase вставляются новый PersonJSON и новый batchdate, обновляя старые записи. И каждые 4 часа сканирование всех людей, которые были изменены, затем отправляется в Hadoop для дальнейшей обработки.
Если мой ключ - это просто personID, он отлично подходит для обновления данных. Но моя производительность отстой, потому что мне нужно добавить фильтр в столбец BatchData, чтобы сканировать все строки, превышающие дату пакета.
Если мой ключ является составным ключом, например BatchDate | PersonID, я мог бы использовать startrow и endrow для ключа строки и получить все строки, которые были изменены. Но тогда у меня было бы много дубликатов, поскольку ключ не уникален и больше не может обновлять человека.
Можно ли использовать фильтр bloom для row + col (personid + batchdate)?
Любая помощь приветствуется. Спасибо, Абхишек