Как увеличить скорость сканирования в Hbase

64
6

Я новичок в Apache Hbase, и я использую hbase-0.98.13, и я создал образец таблицы с семейством столбцов sample_family. И я загрузил вывод из скрипта свиньи в таблицу hbase. когда я пытаюсь отсканировать таблицу на основе одного из столбцов в семействе столбцов, требуется больше 2 минут.

Вот запрос

scan 'sample', {FILTER=>"SingleColumnValueFilter('sample_family','id',=,'binary:1000')"}

Может ли кто-нибудь сказать мне, как довести этот процесс за одну или две секунды?

Есть ли какие-либо изменения в конфигурации для этого? Может ли кто-нибудь помочь мне в этом?

спросил(а) 2021-01-19T15:32:30+03:00 6 месяцев, 2 недели назад
1
Решение
78

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

Самый эффективный способ улучшить производительность сканирования - это правильно спроектированные клавиши строк. HBase внутренне сохраняет строки, отсортированные по строкам, и вы можете указать начальную и конечную строки для сканирования. Поэтому важно иметь клавиши строк, предназначенные для поиска по самым частым критериям. В вашем вопросе вы ищете по столбцу id где значение равно 1000. Вы можете поместить этот идентификатор в ключ строки (однако, вы должны убедиться, что вы избегаете облачных точек).

ответил(а) 2021-01-19T15:32:30+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема