Hi,

Relative Sqoop newbie here. I’ve been trying to connect to two data sources 
using sqoop, one being an AWS Reshift data warehouse (which works), the other 
being an Oracle database, which doesn’t. I’m importing the data from the 
respective data source to AWS S3 – again this works with the postgres-flavoured 
Redshift, doesn’t work with Oracle.

I’m using Sqoop version 1.4.5 on Ubuntu 12.04, hadoop 1.2.1, and I’ve got I've 
got ojdbc6.jar in my sqoop/lib. I’ve tried what I think are appropriate options 
for –driver and –connection-manager, with no further success. If I should be 
using these options, what arguments should I be using?

I’ve been referring to guidelines at 
http://sqoop.apache.org/docs/1.4.5/SqoopUserGuide.html and can’t see any 
obvious hints. I’m also aware of the ORA-00933 error, which I have also come 
across, but can’t replicate at the moment. This error was independent of any 
combination of –driver and –connection-manager arguments.

Also, can someone tell me why my ‘where \$CONDITIONS’ gets substituted as 
‘where (1=0)’ – this doesn’t seem to make any sense.

Thanks in advance for any suggestions – sqoop command and exception are shown 
below. An equivalent sqoop eval will fail with a similar message.

Tony



sqoop import –connect jdbc:oracle:thin:@//<hostname>:<port>/<database>
--query "select distinct IDSBACCOUNT from SBACCOUNT where \$CONDITIONS;"
--target-dir s3n://<aws access key>:<aws secret key>@path/to/storage/
--num-mappers 1 --username <username> --password <password>



15/01/19 17:47:38 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5
15/01/19 17:47:38 WARN tool.BaseSqoopTool: Setting your password on the 
command-line is insecure. Consider using -P instead.
15/01/19 17:47:38 INFO oracle.OraOopManagerFactory: Data Connector for Oracle 
and Hadoop is disabled.
15/01/19 17:47:38 INFO manager.SqlManager: Using default fetchSize of 1000
15/01/19 17:47:38 INFO tool.CodeGenTool: Beginning code generation
15/01/19 17:47:39 INFO manager.OracleManager: Time zone has been set to GMT
15/01/19 17:47:39 INFO manager.SqlManager: Executing SQL statement:
select distinct IDSBACCOUNT from SBACCOUNT where  (1 = 0) ;
15/01/19 17:47:39 ERROR manager.SqlManager: Error executing statement:
java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
    at 
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
    at 
oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
    at 
oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
    at 
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
    at 
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
    at 
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
    at 
oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
    at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:750)
    at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:759)
    at 
org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:269)
    at 
org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:240)
    at 
org.apache.sqoop.manager.SqlManager.getColumnTypesForQuery(SqlManager.java:233)
    at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:304)
    at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1773)
    at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1578)
    at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
    at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)
    at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:601)
    at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
    at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
15/01/19 17:47:39 ERROR tool.ImportTool: Encountered IOException
running import job: java.io.IOException: No columns to generate for
ClassWriter
    at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1584)
    at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
    at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)
    at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:601)
    at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
    at org.apache.sqoop.Sqoop.main(Sqoop.java:236)

Reply via email to