Я хочу создать схему таблицы в Hive, используя "sqoop create-hive-table".Моя БД - Oracle Database 10g Enterprise Edition 10.2.0.4.0, я использую sqoop-1.2.0-cdh3u0 и hive-0.7.0-cdh3u0.Данные для последующей загрузки в таблицу Hive уже находятся в HDFS, и я бы предпочел, чтобы метаданные таблицы создавались автоматически с помощью sqoop & hive, а не создавались вручную и затем загружались данные.
Вот командаЯ выполняю:
$ sqoop create-hive-table --connect jdbc:oracle:thin:@//dbserver:1521/masterdb
--username myuser --table DBFUNC1.R1_EVOLUTION
--fields-terminated-by ',' -P
И получаю следующую ошибку:
11/05/12 11:33:11 INFO hive.HiveImport: Загрузка загруженных данных в Hive
11/05/12 11:33:12 INFO manager.OracleManager: для часового пояса установлено GMT 11/05/12
11: 33: 12 INFO manager.SqlManager: Выполнение инструкции SQL: ВЫБРАТЬ t. * ИЗ BFUNC1.R1_EVOLUTION t ГДЕ 1 = 0
11/05/12 11:33:14 ИНФОРМАЦИЯ hive.HiveImport: Файл истории кустов = / tmp / edjatsay / hive_job_log_edjatsay_201105121133_1466429457.xt
11/05/12 11:33:14 INFO hive.HiveImport: FAILED: Ошибка разбора: строка 1:58 не соответствует входу ')', ожидающий идентификатор в спецификации столбца
11/ 05/12 11:33:14 INFO hive.HiveImport:
11/05/12 11:33:14 ERROR tool.CreateHiveTableTool: Обнаружено исключение IOException, выполняющее задание создания таблицы: java.io.IOException: Hive завершился со статусом 11
Вот схема таблицы в БД:
SQL> describe BFUNC1.R1_EVOLUTION;
OWNER_ID NOT NULL NUMBER(38)
AI_CODE NOT NULL CHAR(3)
TA_NUMBER NOT NULL NUMBER(38)
RULE NOT NULL CHAR(4)
F_CLASS NOT NULL CHAR(8)
EVOLUTION_ID NOT NULL NUMBER(38)
CREATION_MODIFID NUMBER(38)
DISC_MODIFID NUMBER(38)
CREATION_DATETIME CHAR(19)
ENDED_DATETIME CHAR(19)
EVOLUTION_STATE CHAR(1)
Заранее спасибо за помощь.