Pull to refresh

Comments 5

bulkload, по сути своей — перемещение HFile-ов из входной директории в хранилище HBase (+ инициализация новых файлов, + проверка на то, что не изменились границы регионов, пока эти HFile-ы создавались). Это во много раз быстрее, многочисленных Put-ов…

Единственное, надо иметь ввиду, что при загрузке данных сразу в несколько семейств колонок, происходит попытка заблокировать очередной регион на запись. В случае, если идут какие-то другие опреации (например какая-то MR-задача читает данные из HBase или идёт процесс компакшена), попытка получить write lock может затянуться.

Время, которое тратится на формирование HFile-ов из сходных CSV файлов (по сути, время MR-задачи) можно попытаться оптимизировать настройками.
bulkload, по сути своей — перемещение HFile-ов из входной директории в хранилище HBase

Это верно.
Но файлы всёравно подготавливать надо. Мне было необходимо понять, на сколько это продуктивно работает с сырыми данными…
У bluck load есть одна проблема, если произошел split одного из регионов, то часть данных может не загрузится. Это происходит потому, что то HFiles формируются по заранее известным регионам.
Там есть проверка на то, что границы регионов могли измениться, в т.ч. за счёт сплита.
Возможно в новой версии появились, это было два года назад.
Sign up to leave a comment.

Articles