2016-11-14 11 views
0

Перед лицом проблемы с импортом MySql в Hive возникла проблема.Импорт из свалки MySql в улей

Я использовал sqoop разъем для импорта данных из MySql в Hive. Однако есть больше дампов данных для импорта в Hive. Сначала восстановление базы данных невозможно. Так как размер дампа составляет 300G, значит, требуется 3 дня для восстановления. Кроме того, я не могу восстановить более двух файлов на MySql из-за проблемы с дисковым пространством.

В результате я хочу импортировать данные, находящиеся в дампе MySql, прямо в улей без восстановления в MySql.

Еще одна проблема с дампом MySql заключается в том, что есть несколько операторов вставки (около 1 миллиарда). Так будет ли он создавать несколько файлов для каждой вставки? В таком случае, как их объединить?

+0

Предоставьте более подробную информацию, как формат данных в – Phoenix

+0

У меня есть дамп данных mysql, который я хочу импортировать непосредственно в hive (HDFS, лежащий в основе), не восстанавливая его на MySql. –

ответ

0

Вы можете использовать команду «load», предоставляемую Hive, для загрузки данных, присутствующих в вашем локальном каталоге.

Пример: Это приведет к загрузке данных, имеющихся в файле fileName.csv, в таблицу tableName таблицы hive.

load data local inpath '/tmp/fileName.csv' overwrite into table tableName; 

Если ваши данные присутствуют в HDFS. Используйте ту же команду загрузки без локальной опции.

Пример: Здесь/tmp/DataDirectory является каталогом HDFS, и все файлы, находящиеся в этом каталоге, будут загружены в Hive.

load data inpath '/tmp/DataDirectory/*' overwrite into table tableName; 

Внимание: Как улей схема на чтении убедитесь, что заботиться о вашей линии ограничитель и разделитель полей одинаковы как в файле и таблицах Hive загружаемых в.

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

  • Нет связанных вопросов^_^