2013-03-10 2 views
0

У меня есть большой список операторов SQL HBase, которые мне нужно выполнить против существующего экземпляра базы данных HBase.Объемная загрузка HBase при использовании родной FS

Операторы SQL представлены в виде простого текста, а база данных работает в собственной файловой системе (вместо HDFS). Таким образом, у меня нет экземпляра Hadoop.

В настоящее время я выполняю эти операторы SQL в оболочке hbase, но процесс выполняется очень медленно. Я знаю, что если Hadoop запущен, я могу назначить mappers для параллельных вставок, но есть ли более быстрый способ делать массовую загрузку без использования экземпляра Hadoop?

ответ

1

Поскольку Hadoop (более конкретно MR) предназначен для более быстрой обработки массивных данных (больших данных), он подходит для вашего требования.

Создать StoreFiles на HDFS, а затем использовать методы CompleteBulkLoad для загрузки данных из StoreFile в таблицу.

Любые конкретные причины не использования экземпляра Hadoop?

0

HBase обеспечивает ImportTSV интерфейс для массовой загрузки

Ниже приведен пример ImportTSv API

http://souravgulati.webs.com/apps/forums/topics/show/8617965-hbase-bulk-upload-using-importtsv-in-hbase-table

Здесь я попытался загрузить данные из HDFS. Вы можете попробовать загрузить данные с помощью ImportTSV из локальной файловой системы. Если не работает, запустите Hbase поверх HDFS

Смежные вопросы