Внешняя таблица Hive в MySQL

В настоящее время я выполняю следующие шаги (Hadoop 1.1.2, Hive 0.11 и Sqoop-1.4.3.bin__hadoop-1.0.0):

  1. Импорт данных из MySQL в Hive с помощью Sqoop
  2. Выполнить запрос в Hive и сохранить его вывод в таблице Hive.
  3. Экспорт вывода в MySQL с помощью Sqoop

Мне было интересно, можно ли объединить шаги 2 и 3 - вывод запроса Hive, записанный непосредственно в базу данных MySQL.

  1. Я читал о внешних таблицах, но не нашел примера, где предложение LOCATION указывает на что-то вроде jdbc: myql: // localhost: 3306 //. Неужели это возможно?
  2. В этом потоке говорится о обработчике хранилища JDBC, но не удалось найдите пример Hive для того же (я думаю, что он нереализован!)

person Kaliyug Antagonist    schedule 18.07.2013    source источник


Ответы (1)


Ссылка, которую вы предоставили, кажется, что ошибка не устранена. Но из вашей проблемы я понимаю, что вы хотите выполнить запрос выбора в улье, и выходные данные этого запроса должны быть записаны в MySql. Поправьте меня, если я ошибаюсь?

В этом случае вы можете использовать для этого экспорт Sqoop.

Пожалуйста, проверьте этот мой ответ: https://stackoverflow.com/a/17753176/1970125

Надеюсь, это поможет.

person Mukesh S    schedule 19.07.2013
comment
Я предполагаю, что вы все еще намекаете на то, что записываете вывод в HDFS / в таблице Hive (Шаг 2), а затем экспортируете его (Шаг 3). Пожалуйста, поправьте меня, если я неправильно истолковал ваш ответ. - person Kaliyug Antagonist; 05.08.2013
comment
Не совсем, меня интересовала возможность объединения шагов 2 и 3 - записи вывода запроса Hive (в данном случае таблицы) НЕПОСРЕДСТВЕННО в MySQL (А НЕ экспорт HDFS и Sqoop впоследствии) - person Kaliyug Antagonist; 06.08.2013
comment
Хорошо, насколько я знаю, вы должны использовать Sqoop или DBInputFormat / DBOutputFormat для импорта и экспорта данных. Sqoop - лучший вариант для больших объемов данных. Вы можете удалить шаг записи в HDFS, но вам все равно нужно использовать Sqoop и DBInputFormat / DBOutputFormat. - person Mukesh S; 06.08.2013
comment
Вы можете изменить код и заставить его работать, но все равно это будет одиночная вставка и дорогостоящая операция. - person user1989252; 25.02.2015