2013-07-05 2 views
1

Мне нужно сопоставить таблицу Hive с Oracle Db с использованием Odi 11.1.1.6.0.Загрузка данных о погружении в Oracle Db

Я создаю физическую и логическую схему двух технологий. (проверка соединения в порядке) У меня есть физический и логический агент odi, который использует Http и порт 20910. (проверка соединения в порядке)

Я использовал RKM для обратной инженерии двух таблиц (таблицы Hive и соответствующий Oracle таблица с теми же полями).

После этого я создаю проект с интерфейсом для проверки отображения. Я использую перетаскивание для исходной таблицы Hive и целевой таблицы Oracle. После этого я использую перетаскивание каждого поля таблицы Hive в соответствующую таблицу оракула. Размер каждого типа двух таблиц одинаковый. Я управляю потоком интерфейса, и для этого используется только IKM File-Hive для Oracle (OLH).

Когда я начинаю интерфейс, сеанс запуска, но есть эта ошибка:

ODI-1226: Step Hive_to_Oracle_test fails after 1 attempt(s). 
ODI-1240: Flow Hive_to_Oracle_test fails while performing a Integration operation. This flow loads target table TEST_TABLE. 
Caused By: com.sunopsis.dwg.function.SnpsFunctionBaseException: ODI-30038: OS command returned 4. 
    at com.sunopsis.dwg.tools.OSCommand.actionExecute(OSCommand.java:294) 
    at com.sunopsis.dwg.function.SnpsFunctionBase.execute(SnpsFunctionBase.java:276) 
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execIntegratedFunction(SnpSessTaskSql.java:3437) 
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.executeOdiCommand(SnpSessTaskSql.java:1509) 
    at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:44) 
    at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:1) 
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50) 
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913) 
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625) 
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558) 
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464) 
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093) 
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366) 
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216) 
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300) 
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292) 
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855) 
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126) 
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82) 
    at java.lang.Thread.run(Thread.java:662) 

hive_to_oracle_test мой интерфейс, TEST_TABLE мой оракул стол.

Любая идея?

ответ

0

Я думаю, вы можете использовать SQOOP check https://ccp.cloudera.com/display/con/Quest+Data+Connectors. Вы также можете посмотреть на проверку ORAOOP http://archive.cloudera.com/cdh/3/adapters/oraoopuserguide.pdf для получения дополнительных сведений. Оба эти могут быть использованы для передачи данных из базы данных hive в оракул.

+0

Я должен использовать ODI для этого. – messinese90

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