Экспорт Sqoop из Hive в Netezza, если столбец имеет массив значений

Я пытался запустить экспорт sqoop для загрузки строк таблицы Hive в таблицу Netezza. Проблема в том, что у меня есть несколько столбцов, содержащих массив значений, и я создал DDL в Netezza для этих типов данных столбцов как varchar(200) и запустил задание sqoop но я получаю ошибку, так как количество плохих строк достигло предела. ниже моя работа Sqoop:

sqoop export --options-file --direct --connect jdbc: netezza: //10.90.21.140: 5480 / analytics --username sat144 --P - таблица analytics_stage --export-dir /home/dir1/analytics/data --fields-terminated-by '~' --input-null-string '\N' --input-null-non-string '\N' -m 1 -max-errors #0

Мой Netezza DDL ниже:
CREATE TABLE analytics_stage (id varchar (30), имя varchar(60), dept nvarchar(99), dept_id nvarchar(200));

Ниже приведены значения столбца в моей таблице Hive.

Row1: 20134(id) sat(name) Data_Group(dept) [121,103,201,212,310] (dept_id)

Может ли кто-нибудь помочь мне в этом? если столбец имеет отрицательные значения и массив значений в таблице Hive, то какие типы данных предлагаются в Netezza??

Sqoop Журнал ошибок ниже

16/05/09 15:46:49 INFO mapreduce.Job: карта на 50% меньше 0% 16/05/09 15:46:55 INFO mapreduce.Job: идентификатор задачи: try_1460986388847_0849_m_000000_1, статус: СБОЙ Ошибка: java.io.IOException: org.netezza.error.NzSQLException: ОШИБКА: Внешняя таблица: число неверных строк ввода достигло предела макс. Ошибок

    at org.apache.sqoop.mapreduce.db.netezza.NetezzaExternalTableExportMapper.run(NetezzaExternalTableExportMapper.java:255)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)

Вызвано: org.netezza.error.NzSQLException: ОШИБКА: Внешняя таблица: количество неверных строк ввода достигло предела макс. Ошибок

1 ответ

Функции импорта / экспорта доступны из СУБД в HDFS и наоборот. Но при работе с Hive, HBase, Hcatalog у нас есть только один вариант импорта. Мы пока не можем экспортировать данные из Hive, Hbase и HCatalog.

Другие вопросы по тегам