Как использовать таблицу вторичных индексов HBase в качестве входных данных в задании MapReduce? - PullRequest
0 голосов
/ 23 апреля 2019

Я новичок в HBase, у меня есть главная таблица с rowkey = id-YYYYMMDD и вторичная индексная таблица с rowkey = YYYYMMDD-id и столбец с rowkey в основной таблице.У меня будет около 1 миллиона идентификаторов в ближайшем будущем, и мне нужно будет создать задание MapReduce для суммирования идентификатора за определенную дату (ГГГГММДД).

Как передать таблицу вторичного индекса в задание mapreduceпоэтому соответствующие «get (rowkey)» запускаются в основной таблице для получения столбцов и суммирования данных?

1 Ответ

0 голосов
/ 26 апреля 2019

У вас есть 2 варианта:

  1. Сначала вы запустите сканирование таблицы индекса. Сканирование будет иметь startRow и stopRow (например, «20190401» и «20190402»), поэтому оно будет сканировать область непрерывного пространства ключей и собирать идентификаторы из основной таблицы. Временная сложность будет O (M), где M - количество элементов в данной партии. Затем вы запрашиваете данные из основной таблицы по идентификаторам, используя Get.
  2. Поскольку у вас есть дата как часть основного ключа таблицы, вы можете просто выполнить сканирование MapReduce с фильтрацией ключей, которая будет выполняться в O (N / P), где N - общее количество строк в таблице, а P это параллелизм вашего кластера.
...