0
J'utilise Sqoop pour mettre à jour une table dans Oracle avec les options UpdateOnly. Avoir essayé de nombreuses suggestions mentionnées sur divers site, mais cela ne fonctionne toujours pas.La mise à jour de l'exportation Sqoop a échoué avec le paramètre IN ou OUT manquant à l'index :: 2
Le code est donné ci-dessous ...
SqoopOptions sqoopClient = new SqoopOptions();
sqoopClient.setFieldsTerminatedBy(fieldDelim);
sqoopClient.setLinesTerminatedBy(lineTerminator);
sqoopClient.setTableName(tableName);
sqoopClient.setColumns(columnArray);
//columnArray contains the list of columns to update including the update
sqoopClient.setUpdateKeyCol("id");
sqoopClient.setUpdateMode(SqoopOptions.UpdateMode.UpdateOnly);
sqoopClient.setExportDir(inputDirForExportJob); // gets input from this directory in the HDFS
sqoopClient.setFileLayout(com.cloudera.sqoop.SqoopOptions.FileLayout.TextFile);
com.cloudera.sqoop.tool.SqoopTool sqoop_tool = com.cloudera.sqoop.tool.SqoopTool.getTool("export");
org.apache.sqoop.Sqoop sqoop_export = new org.apache.sqoop.Sqoop(sqoop_tool, hadoop_config, sqoopClient);
int status = 1;
try{
status = new ExportTool().run(sqoopClient);
}
return status;
Even tried executing throug command line
sqoop export --connect jdbc:oracle:thin:@192.168.2.175:1521:OPS1 --username ZYCDEV --password ZYCDEV --table abhishek_emp --update-key id --export-dir /user/abhisheks/bcr/check.txt --input-fields-terminated-by '|' --columns 'id,description' --update-mode updateonly
Still same issue..
La version Cloudera J'utilise est .. Sqoop-cdh4.2.0.jar .. 1.4.2