Возврат агрегатов из данных HBASE - PullRequest
2 голосов
/ 29 декабря 2010

У меня есть таблица HBASE, содержащая около 150 тыс. Строк, каждая из которых содержит 3700 столбцов.

Мне нужно выбрать несколько строк за раз и объединить результаты обратно, например:

строка[1] [column1] + строка [2] [column1] ... + строка [n] [column1]
строка [1] [column2] + строка [2] [column2] ... + строка [n] [column2]
...
row [1] [columnn] + row [2] [columnn] ... + row [n] [columnn]

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

Существует ли способ сканирования в распределенном режиме (опция или создание нескольких сканеров для данных каждого региона [Это может бытьчервей сам по себе]) или это то, что должно быть сделано на карте / сократить работу.Если это задание M / R, будет ли оно достаточно «быстрым» для запросов в реальном времени?Если нет, есть ли хорошие альтернативы выполнению этих типов агрегатов в реальном времени с базой данных типа NOSQL?

1 Ответ

2 голосов
/ 07 января 2011

В таких случаях я хотел бы иметь другую таблицу, в которой у меня будут сводные сводки. То есть, когда строка [m] вставляется в таблицу 1 в таблице 2 против (столбец 1) (который является ключом строки таблицы 2), я сохраняю ее суммирование или другие результаты агрегирования, будь то среднее значение, стандартное отклонение, максимум, минимум и т.д.

Другой подход заключается в том, чтобы проиндексировать их в поисковом инструменте, таком как Lucene, Solr, Elastic Search и т. Д., И выполнить там агрегированный поиск. Вот несколько примеров в Solr .

Наконец, сканирование, охватывающее несколько регионов или заданий M / R, не предназначено для запросов в реальном времени (если только кластеры не сконструированы таким образом, то есть слишком большими для требований к данным).

Надеюсь, это поможет.

...