Oracle Data Integrator SQL to HDFS IKM returns error

I am using ODI ( I created topology for Oracle DB which is OK and I created topology for HDFS using File technology where I think the problem is in.

DataServer for HDFS, I left JDBC driver empty, and filled JDBC Url with hdfs://remotehostname:port

Physical Schema for HDFS, I filled both Schema and Work Schema with /my/path

Then created Logical Schema and Model. After that created Datastore under the model with these definitions.
Name: TestName
Resource Name: TESTFILE.txt
File Format: Fixed

After all these, created a project and a mapping under the project.


Finally when I run the mapping I see these errors:

ODI-1217: Session Oracle2HDFSMapping_Physical_SESS (15) fails with return code ODI-1298.
ODI-1226: Step Physical_STEP fails after 1 attempt(s).
ODI-1240: Flow Physical_STEP fails while performing a Add execute to Sqoop script-IKM SQL to HDFS File (Sqoop)- operation. This flow loads target table null.
ODI-1298: Serial task "SERIAL-MAP_MAIN- (10)" failed because child task "SERIAL-EU-GGUSER_UNIT (20)" is in error.
ODI-1298: Serial task "SERIAL-EU-GGUSER_UNIT (20)" failed because child task "Add execute to Sqoop script-IKM SQL to HDFS File (Sqoop)- (40)" is in error.
Caused By: Cannot run program "chmod": CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(
    at java.lang.Runtime.exec(
    at java.lang.Runtime.exec(
    at java.lang.Runtime.exec(
    at oracle.odi.runtime.agent.execution.cmd.OSCommandExecutor.execute(
    at oracle.odi.runtime.agent.execution.cmd.OSCommandExecutor.execute(
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(
    at oracle.odi.runtime.agent.execution.SessionTask.processTask(
    at oracle.odi.runtime.agent.execution.SessionTask.doExecuteTask(
    at oracle.odi.runtime.agent.execution.AbstractSessionTask.execute(
    at oracle.odi.runtime.agent.execution.SessionExecutor$SerialTrain.runTasks(
    at oracle.odi.runtime.agent.execution.SessionExecutor.executeSession(
    at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(
    at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(
    at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doProcessStartAgentTask(
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$1400(
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(
Caused by: CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(
    at java.lang.ProcessImpl.start(
    at java.lang.ProcessBuilder.start(
    ... 20 more

I wonder where I did it wrong?

Source: oracle

Leave a Reply