bulkload, по сути своей — перемещение HFile-ов из входной директории в хранилище HBase (+ инициализация новых файлов, + проверка на то, что не изменились границы регионов, пока эти HFile-ы создавались). Это во много раз быстрее, многочисленных Put-ов…
Единственное, надо иметь ввиду, что при загрузке данных сразу в несколько семейств колонок, происходит попытка заблокировать очередной регион на запись. В случае, если идут какие-то другие опреации (например какая-то MR-задача читает данные из HBase или идёт процесс компакшена), попытка получить write lock может затянуться.
Время, которое тратится на формирование HFile-ов из сходных CSV файлов (по сути, время MR-задачи) можно попытаться оптимизировать настройками.
У bluck load есть одна проблема, если произошел split одного из регионов, то часть данных может не загрузится. Это происходит потому, что то HFiles формируются по заранее известным регионам.
HBase, загрузка больших массивов данных через bulk load