Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
Sqoop >> mail # user >> Why sqoop picks up hsqldb driver jar when connect to mysql db?


Copy link to this message
-
Re: Why sqoop picks up hsqldb driver jar when connect to mysql db?
Sam,

Did you try the --driver parameter? It allows you to choose the JDBC driver
class.

-Abe
On Tue, Aug 6, 2013 at 7:54 PM, sam liu <[EMAIL PROTECTED]> wrote:

> I think this is a defect of Sqoop, and opened a jira for it:
> https://issues.apache.org/jira/browse/SQOOP-1164. I set the priority as
> Minor, because it has the workaround: only leave the target driver jar file
> in the sqoop/lib folder, but remove other driver jar files from the folder.
> However, it should be mentioned that when we have many dirver jar files
> under sqoop/lib folder for multiple kinds of databases, or a script will
> connect to different databases, this workaround can not work well.
>
> Thanks!
>
>
> 2013/8/6 sam liu <[EMAIL PROTECTED]>
>
>> Hi Experts,
>>
>> Under SQOOP/lib, I have both hsqldb driver jar file and mysql driver jar
>> file:
>> - lib/hsqldb-1.8.0.10.jar
>> - lib/mysql-connector-java-5.1.20-bin.jar
>>
>> But, when I try to connect to mysql db using sqoop import tool, sqoop
>> will pick up hsqldb driver jar and returned following exception. Even if I
>> add '--connection-manager org.apache.sqoop.manager.MySQLManager' into the
>> command, this issue still exists. But, after I removed the hsqldb jar file
>> from lib folder, this issue does not exist any more.
>>
>> Why? What's the correct method to invoke import tool to avoid such issue?
>> Thanks!
>>
>> > bin/sqoop import --connect jdbc:mysql://hostname:3306/test
>> --connection-manager org.apache.sqoop.manager.MySQLManager --username user
>> --password pwd --table testtbl -m 1 --target-dir /tmp/test5
>> 13/08/05 18:44:03 WARN tool.BaseSqoopTool: Setting your password on the
>> command-line is insecure. Consider using -P instead.
>> 13/08/05 18:44:03 INFO manager.MySQLManager: Preparing to use a MySQL
>> streaming resultset.
>> 13/08/05 18:44:03 INFO tool.CodeGenTool: Beginning code generation
>> Exception in thread "main" java.lang.NoSuchMethodError:
>> org/hsqldb/DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties;
>>         at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
>>         at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
>>         at java.sql.DriverManager.getConnection(DriverManager.java:402)
>>         at java.sql.DriverManager.getConnection(DriverManager.java:450)
>>         at
>> org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:745)
>>         at
>> org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)
>>         at
>> org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:605)
>>         at
>> org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:628)
>>         at
>> org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:235)
>>         at
>> org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:219)
>>         at
>> org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:283)
>>         at
>> org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1255)
>>         at
>> org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1072)
>>         at
>> org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82)
>>         at
>> org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:390)
>>         at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:476)
>>         at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
>>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
>>         at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
>>         at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
>>         at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
>>         at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
>>
>> --
>>
>> Sam Liu
>>
>
>
>
> --
>
> Sam Liu
>
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB