首页 > 解决方案 > ODI 在处理语句时发出错误:/usr/lib/hive/lib/hive-contrib.jar 不存在

问题描述

我有三个虚拟机 Oracle 数据库、带有 Hive 的 Hadoop 服务器和 Orcale 数据集成器。每个都有自己的数据库。我的目标是使用 Oracle Data Integrator 连接所有数据库并进行从 Hive 数据库到 Oracle 数据库的映射。

我配置了我的 Oracle 和我的 Hive 数据服务器。连接成功,然后我创建 hive 和 oracle 数据模型,然后创建一个新映射以将数据从我的 hive 表加载到 mxy oracle 表。在我为 Target Control Append 选择的逻辑选项卡上。在物理选项卡上,我为 LKM 选择:lkm hive to Oracle OLH-OSCH.GLOBAL 和 IKM:ikm oracle insert.GLOBAL,但在按下播放按钮后,我得到了这个异常:

`ODI-1590: The execution of the script failed. 
Caused By: org.apache.bsf.BSFException: exception from Groovy: java.sql.SQLException: [FMWGEN][Hive JDBC Driver][Hive]Error while processing statement: /usr/lib/hive/lib/hive-contrib.jar does not exist
at org.codehaus.groovy.bsf.GroovyEngine.exec(GroovyEngine.java:114)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.
execInBSFEngine(SnpScriptingInterpretor.java:396)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.
exec(SnpScriptingInterpretor.java:247)
at oracle.odi.runtime.agent.execution.interpreter.
SessionTaskScriptingInterpretor.scripting(SessionTaskScriptingInterpretor.java:190)
at oracle.odi.runtime.agent.execution.SessionTask.scripting
(SessionTask.java:105)
at oracle.odi.runtime.agent.execution.cmd.
ScriptingExecutor.execute(ScriptingExecutor.java:49)
at oracle.odi.runtime.agent.execution.cmd.
ScriptingExecutor.execute(ScriptingExecutor.java:21) 
at oracle.odi.runtime.agent.execution.TaskExecutionHandler.
handleTask(TaskExecutionHandler.java:52)
at oracle.odi.runtime.agent.execution.SessionTask.
processTask(SessionTask.java:206)
at oracle.odi.runtime.agent.execution.SessionTask.
doExecuteTask(SessionTask.java:117)
at oracle.odi.runtime.agent.execution.AbstractSessionTask.
execute(AbstractSessionTask.java:886)
at oracle.odi.runtime.agent.execution.
SessionExecutor$SerialTrain.runTasks(SessionExecutor.java:2225)
at oracle.odi.runtime.agent.execution.SessionExecutor.
executeSession(SessionExecutor.java:610)
at oracle.odi.runtime.agent.processor.
TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:718)
at oracle.odi.runtime.agent.processor.
TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:611)
at oracle.odi.core.persistence.dwgobject.
DwgObjectTemplate.execute(DwgObjectTemplate.java:203)
at oracle.odi.runtime.agent.processor.
TaskExecutorAgentRequestProcessor.doProcessStartAgentTask(TaskExecutorAgentRequestProcessor.java:800)
at oracle.odi.runtime.agent.processor.impl.
StartSessRequestProcessor.access$1400(StartSessRequestProcessor.java:74)
at oracle.odi.runtime.agent.processor.impl.
StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:702)
at oracle.odi.runtime.agent.processor.task.
AgentTask.execute(AgentTask.java:180)
at oracle.odi.runtime.agent.support.
DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:108)
at java.lang.Thread.run(Thread.java:748)`

标签: hadoophivebigdata

解决方案


推荐阅读