Как восстановить данные, если API массовой загрузки используется в Java MapReduce?

#hadoop #hbase

#hadoop #hbase

Вопрос:

В рабочей среде мы используем API массовой загрузки для загрузки данных в таблицы Hbase, передавая два аргумента API массовой загрузки (pathToHfile, targetTableName).

Путь к файлу —> Расположение Hfiles в hadoop
targetTableName —> Целевая таблица, которую мы хотим загрузить

Когда мы используем API массовой загрузки, записи в файл WAL не выполняются. Но для восстановления данных используются файлы WAL. Итак, как мы собираемся восстановить данные в этом случае, поскольку данные не записываются в файл WAL?

Ответ №1:

WAL используется для восстановления изменений, которые не были записаны в HFiles (т. Е. Из разбитого MemStore). При массовой загрузке вы создаете файлы HF вручную и передаете их в HBase. Фактическая загрузка новых файлов в HBase является атомарной, поэтому здесь механизм восстановления не требуется.