Я пытаюсь импортировать все таблицы из моего Oracle 11g R2 (импорт-все-таблицы), и я столкнулся с проблемой с типом CLOB. (Использование CDH 5.9 Sqoop 1.4.6-cdh5.9.1)Sqoop: импортировать все таблицы, конвертирующие типы blob
Первая попытка:
sqoop import-all-tables --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --direct
Таблицы правильно импортированы до одна таблица со столбцом CLOB не найден и бросить следующее сообщение об ошибке: Не удается преобразовать в SQL типа 2005.
Вторая попытка:
sqoop import-all-tables -D oraoop.disabled=true --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX
я получаю ту же ошибку.
Третий попробовать
sqoop import --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --table MyClobTable --map-column-java CLOBCOL=String
Это работает, поэтому я стараюсь, чтобы получить то же самое со всеми таблицами:
sqoop import-all-tables --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --map-column-java CLOBCOL=String
Это терпит неудачу, потому что только один из моих таблиц имеет столбец CLOBCOL.
Есть ли способ использовать импорт-все-таблицы, исправление ошибки типа SQL 2005 или сообщение Sqoop о том, как его разрешить «на лету»?
Спасибо!
В чем проблема, которую вы точно видите? Вместо того, чтобы пытаться принудительно привязать строки к строкам, вы должны подумать о том, чтобы позволить sqoop хранить файлы по мере необходимости для их размера (если относительно небольшой, может быть встроенным, иначе в _lobs subdir). – tbone
Я редактировал свое сообщение, пытаясь быть более явным. Как я могу «позволить Sqoop хранить файлы по мере необходимости для их размера»? – Cheloute