I am trying to insert data into monetdb using sqoop, via the monet jdbc interface. It keeps crashing 20 odd rows into the import, with a monetdb ROLLBACK. The debug info from Sqoop is poor. Does anyone know if the monetdb ROLLBACK can be disabled, so that I can see the last row imported.
Has anyone tried Sqoop to Monetdb, are there any debugging tips that you can give ?
sqoop export --connect jdbc:monetdb://cluster-03/ngpm -driver nl.cwi.monetdb.jdbc.MonetDriver --num-mappers 1 --password monetdb --username monetdb --table query_start --export-dir /test/dash_test/QueryStart.Log --fields-terminated-by ','
12/09/24 17:27:49 INFO mapreduce.Job: Task Id : attempt_1347971665109_0247_m_000000_1, Status : FAILED
Error: java.io.IOException: java.sql.SQLException: EXEC: wrong number of arguments for prepared statement: 100, expected 102
at org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.close(AsyncSqlRecordWriter.java:192)
at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.close(MapTask.java:610)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:730)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:332)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:152)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1232)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:147)
Caused by: java.sql.SQLException: EXEC: wrong number of arguments for prepared statement: 100, expected 102
at nl.cwi.monetdb.jdbc.MonetConnection$ResponseList.executeQuery(MonetConnection.java:2524)
at nl.cwi.monetdb.jdbc.MonetConnection$ResponseList.processQuery(MonetConnection.java:2274)
at nl.cwi.monetdb.jdbc.MonetStatement.internalExecute(MonetStatement.java:508)
at nl.cwi.monetdb.jdbc.MonetStatement.execute(MonetStatement.java:349)
at nl.cwi.monetdb.jdbc.MonetPreparedStatement.execute(MonetPreparedStatement.java:247)
at org.apache.sqoop.mapreduce.AsyncSqlOutputFormat$AsyncSqlExecThread.run(AsyncSqlOutputFormat.java:230)