#mysql #hive #sqoop
#mysql #улей #sqoop
Вопрос:
Я создал таблицу с нижеприведенным форматом в улье
create table test(id int, name string, age int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
id int
name string
age int
Я загрузил приведенные ниже данные из текстового файла в таблицу hive
1,abc,10
2,xyz,20
3,def,30
Я проверил таблицу, и данные загружены нормально. Теперь я создал таблицу в MySQL с приведенными ниже столбцами и попытался экспортировать sqoop из hive в MySQL, и это не удалось с java.lang.NumberFormatException: для входной строки. Можете ли вы, ребята, сообщить мне, в чем ошибка, которую я делаю?
create table test1(id int,age int);
Моя команда Sqoop
экспорт sqoop --подключение --имя пользователя --пароль --экспорт-расположение каталога --проверка таблицы --идентификатор столбцов, возраст --поля-завершаются-символом ","
Комментарии:
1. Порядок столбцов также очень важен при экспорте данных, предположим, если вы создали таблицу mysql с именами столбцов в качестве id, name, которые совпадают с таблицей hive, а затем попытаетесь экспортировать данные, которые она успешно экспортирует в таблицу mysql. Я не знаю, есть ли возможность экспортировать, даже если столбцы не в порядке, надеюсь, что кто-нибудь из сообщества ответит на этот вопрос наилучшим образом
2. чего вы хотите достичь? хотите экспортировать данные из
hdfs
или экспортировать изhive
таблицы, оба имеют небольшое различие.3. @Gaurang У меня есть таблица в hive с 3 столбцами, и я хочу, чтобы эта таблица была экспортирована в базу данных MySQL, но мне нужны только последние два столбца таблицы hive, могу ли я этого добиться?
4. @Johny_Bravo Вы решили эту проблему? Я тоже обнаружил эту ошибку с меньшим количеством столбцов в Hive, чем в Oracle, пусть говорит, что в HIve у меня есть c, d, e, а в Oracle у меня есть a, b, c, d, e, и я хочу экспортировать с помощью обновления только e с c, d в качестве ключей обновления.