2015-02-01 2 views
3

Я пытаюсь импортировать таблицы из Postgresql в HDFS, используя Sqoop. Он работает нормально. Но когда я пытаюсь импортировать таблицу, где один из полей типа JSon, он показывает ошибку:Поддержка Sqoop для типа данных json для поля таблицы?

ERROR orm.ClassWriter: Cannot resolve SQL type 1111 

Похоже, Sqoop не поддерживает JSON, как типы данных для полей таблицы. Любая идея, если есть решение для этого?

ответ

1

Я также столкнулся с подобной ошибкой. Удалось решить эту проблему, используя параметр -map-column-java в команде импорта sqoop. Карта типа JSon в строку во время импорта, как:

--map-колонного Java wsresp = Строка

+0

Я пробовал это, но опять та же ошибка. Код, который я пробовал: sqoop import --connect jdbc: postgresql: //XXX.XX.XXX.XXX: 5432/iAtlas --table msg02 --username aaaa.bbbbb --password ccccc - --схема отслеживания - map-column-java wsresp = String. Итак, я добавил ваш код в конце, это правильно? – user1680859

+0

Попробуйте следующее: sqoop import --connect jdbc: postgresql: //XXX.XX.XXX.XXX: 5432/iAtlas --table msg02 --username aaaa.bbbbb --password ccccc - отслеживание схемы --map- column-java wsresp = String --map-column-hive wsresp = STRING add -map-column-hive option также, используя -map-column-java, мы сопоставляем sql-тип с java-типом, а затем используя -map -column-hive отобразит его на тип улья –

+0

Я пробовал это, но снова получил ошибку «Не удалось разрешить SQL-тип 1111» – user1680859

4

Попробуйте это:

sqoop import --connect jdbc:postgresql://XXX.XX.XXX.XXX:5432/iAtlas --table msg02 --username aaaa.bbbbb --password ccccc --schema tracking --map-column-java wsresp=String --map-column-hive wsresp=STRING 

добавить --map колонки улей вариант также, используя -map-column-java, мы сопоставляем sql-тип с java-типом, а затем используя -map-column-hive сопоставим его с типом улья

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