I am trying to troubleshoot performance when connecting to Sybase ASE Version 15.7 from Sqoop over JDBC.

Though I cannot check things myself it appears to be 10x slower to extract data this way then with another tool (which uses ODBC).


The DB team has observed the following:

enter image description here


What is the meaning of FETCH_SIZE jconnect_implicit_1:?

Of course other hints on what may be causing the performance issue are welcome as well.

The DB team believes it means a cursor is made for each row, perhaps because of this link which contains something vaguely similar, but I suspect it means something else as I have not found any reference of Oozie causing this over JDBC (we enforce a larger fetch size in the oozie command).


Even if fetch size is set to 1, it doesn't mean a cursor will be created for each row; it simply means the driver will request rows of an open cursor be sent to the client one by one instead of in batches. Still inefficient, but not that inefficient. However, there's no indication there that fetch size is set to 1; jconnect_implicit_1: seems to be simply an automatically generated name of a bind variable. I believe Sqoop fetch size can be controlled with the --fetch-size command line argument.

  • Thanks, that makes sense. Any thoughts on why this JDBC approach seems to be 10x slower than an alternate ODBC approach? – Dennis Jaheruddin Jan 17 at 0:57
  • There isn't nearly enough information in your question to make even a wildest guess. Most likely, you either measure performance inconsistently, or compare apples to oranges. – mustaccio Jan 17 at 1:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.