Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
Created 11-17-2015 07:46 PM
Trying to import table data from Sybase table to Hive using the below command:
sqoop import --verbose --driver com.sybase.jdbc4.jdbc.SybDriver --connect jdbc:sybase:Tds:dbgbl-tst:8032/DATABASE=trim_bw --username hrongali -P --table trim_bw..account --hive-database trim_bw --hive-table account --hive-import -m 1
Sqoop is generating the below alias(AS trim_bw..account) which is failing to execute in Sybase and the below exception is thrown:
2015-11-17 14:29:48,511 INFO [main] org.apache.sqoop.mapreduce.db.DBRecordReader: Executing query: SELECT col_1, col_2, col_3, col_4 FROM trim_bw..account AS trim_bw..account WHERE ( 1=1 ) AND ( 1=1 ) 2015-11-17 14:29:48,514 ERROR [main] org.apache.sqoop.mapreduce.db.DBRecordReader: Top level exception: com.sybase.jdbc4.jdbc.SybSQLException: Incorrect syntax near '.'. at com.sybase.jdbc4.tds.Tds.processEed(Tds.java:4084) at com.sybase.jdbc4.tds.Tds.nextResult(Tds.java:3174) at com.sybase.jdbc4.tds.Tds.getResultSetResult(Tds.java:3940) at com.sybase.jdbc4.tds.TdsCursor.open(TdsCursor.java:328) at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(SybStatement.java:2370) at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(SybPreparedStatement.java:264) at org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111) at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235)
Note: Tried with out giving the database name in the --table parameter, but the table object is not being recognized with that convention
Created 11-18-2015 12:47 AM
I am following stackoverflow link. Can you try this?
sqoop import --verbose --driver com.sybase.jdbc4.jdbc.SybDriver --connect jdbc:sybase:Tds:dbgbl-tst:8032/DATABASE=trim_bw --query "select * from trim_bw..account where \$CONDITIONS" --fields-terminated-by ',' --username hrongali -P --hive-database trim_bw --hive-table account --hive-import -m 1
Created 11-17-2015 09:28 PM
Have you tried using the --query option directly and specifying the Sybase query to fetch data?
--query "select * from trim_bw..account where \$CONDITIONS"
Created 11-18-2015 12:47 AM
I am following stackoverflow link. Can you try this?
sqoop import --verbose --driver com.sybase.jdbc4.jdbc.SybDriver --connect jdbc:sybase:Tds:dbgbl-tst:8032/DATABASE=trim_bw --query "select * from trim_bw..account where \$CONDITIONS" --fields-terminated-by ',' --username hrongali -P --hive-database trim_bw --hive-table account --hive-import -m 1