HBase: как избежать записи точки доступа в этом случае? - PullRequest
0 голосов
/ 03 августа 2020

У меня есть два API, которые должны возвращать информацию из HBase:

  • Все строки, связанные с определенным c ключом продукта (например, "2KSL6-S4X56")
  • Все строки которые связаны с названием продукта (например, "magic_mouse")

Таким образом, ключ строки может быть 2020-07-05_2KSL6-S4X56 или 2020-07-05_magic_mouse. Когда продавец ищет информацию с использованием параметров (product key, date) ИЛИ (product name, date), API должен получить все строки для заданной даты, а затем выполнить фильтр префикса, используя либо ключ, либо имя.

Теперь проблема в том, что мы обнаружили, что некоторые региональные серверы используются чаще, чем другие.

Мы думаем, что это из-за плохой конструкции rowkey, поэтому мы хотели бы изменить rowkey (например, 05-07-2020, чтобы поставить день перед месяцем и годом) , или добавить случайные буквы в начале.

У меня есть два вопроса по этой проблеме:

  1. Я заметил, что хотя наш rowkey увеличивается на временную метку, область вновь разделенный не находится на том же сервере региона, что и последний. Зачем ? Если я правильно понимаю, когда начальная буква (например, 2020) остается прежней, она всегда должна писать на один и тот же региональный сервер. У нас нет предопределенного префикса разделения.

  2. Если мы хотим отменить временную метку, как определить startRow и endRow? Потому что строки больше не увеличиваются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...