|
|
-
Error while importing from Teradata to HDFS
DIPESH KUMAR SINGH 2012-04-22, 05:21
I am trying to import the data from Teradata to hdfs referring Cloudera Connector guide. I added the property
(The Hadoop environment i am working in is a shared Hadoop installation, So users are not allowed to add any jars in lib directory or make changes in Sqoop-site.xml of central installation. However, users can use .profile i.e. user's configuration files to specify CLASSPATH )
I added the line com.teradata.jdbc.TeraDriver=<path to jar file terajdbc4.jar> along with com.cloudera.sqoop.manager.TeradataManagerFactory=<path to sqoop-td-connector-1.0.5.jar> in connectors file inside managers.d directory. In my CLASSPATH, i have added path to SQOOP_CONF i.e. a Sqoop folder where i have kept my managers.d and all jars. With these I suppose i am able to connect to teradata using the teradata manager factory using the teradriver as well but, still i am facing this when i issue the sqoop import command as below
sqoop import -libjars <path to tdgssconfig.jar> --driver com.teradata.jdbc.TeraDriver --connect jdbc:teradata://xxxxxx/DATABASE=dbname --username hadoop --P --table SQOOP_TEST --num-mappers 3 --verbose
12/04/13 02:29:32 DEBUG tool.BaseSqoopTool: Enabled debug logging. 12/04/13 02:29:32 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead. 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Checking for existing class: com.cloudera.sqoop.manager.TeradataManagerFactory 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Attempting to load jar through URL: jar:file:///Sqoop/sqoop-td-connector-1.0.5.jar!/ 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Previous classloader is java.net.URLClassLoader@6a8c436b 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Testing class in jar: com.cloudera.sqoop.manager.TeradataManagerFactory 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Loaded jar into current JVM: jar:file:///Sqoop/sqoop-td-connector-1.0.5.jar!/ 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Added classloader for jar /Sqoop/sqoop-td-connector-1.0.5.jar: java.net.FactoryURLClassLoader@45db05b2 12/04/13 02:29:32 DEBUG sqoop.ConnFactory: Added factory com.cloudera.sqoop.manager.TeradataManagerFactory in jar /Sqoop/sqoop-td-connector-1.0.5.jar specified by /Sqoop/conf/managers.d/connectors 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Checking for existing class: com.teradata.jdbc.TeraDriver 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Attempting to load jar through URL: jar:file:///Sqoop/lib/terajdbc4.jar!/ 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Previous classloader is java.net.FactoryURLClassLoader@45db05b2 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Testing class in jar: com.teradata.jdbc.TeraDriver 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Loaded jar into current JVM: jar:file:///Sqoop/lib/terajdbc4.jar!/ 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Added classloader for jar /Sqoop/lib/terajdbc4.jar: java.net.FactoryURLClassLoader@518f5824 12/04/13 02:29:32 DEBUG sqoop.ConnFactory: Added factory com.teradata.jdbc.TeraDriver in jar /Sqoop/lib/terajdbc4.jar specified by /Sqoop/conf/managers.d/connectors 12/04/13 02:29:32 DEBUG sqoop.ConnFactory: Loaded manager factory: com.cloudera.sqoop.manager.TeradataManagerFactory 12/04/13 02:29:32 ERROR tool.BaseSqoopTool: Got error creating database manager: java.lang.ClassCastException: com.teradata.jdbc.TeraDriver cannot be cast to com.cloudera.sqoop.manager.ManagerFactory at com.cloudera.sqoop.ConnFactory.instantiateFactories(ConnFactory.java:90) at com.cloudera.sqoop.ConnFactory.<init>(ConnFactory.java:60) at com.cloudera.sqoop.tool.BaseSqoopTool.init(BaseSqoopTool.java:186) at com.cloudera.sqoop.tool.ImportTool.init(ImportTool.java:81) at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:411) at com.cloudera.sqoop.Sqoop.run(Sqoop.java:144) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:180) at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:219) at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:228) at com.cloudera.sqoop.Sqoop.main(Sqoop.java:237) Please help.
Thanks & Regards, Dipesh Kr. Singh
-
Re: Error while importing from Teradata to HDFS
Cheolsoo Park 2012-04-22, 09:31
Hi Dispesh,
I added the line com.teradata.jdbc.TeraDriver=<path to jar file > terajdbc4.jar> along with > com.cloudera.sqoop.manager.TeradataManagerFactory=<path to > sqoop-td-connector-1.0.5.jar> > in connectors file inside managers.d directory. Please remove "com.teradata.jdbc.TeraDriver=<path to jar file terajdbc4.jar>" from your connector file.
It should only contain "com.cloudera.sqoop.manager.TeradataManagerFactory=<path to sqoop-td-connector-1.0.5.jar>".
Thanks, Cheolsoo On Sat, Apr 21, 2012 at 10:21 PM, DIPESH KUMAR SINGH <[EMAIL PROTECTED]>wrote:
> I am trying to import the data from Teradata to hdfs referring Cloudera > Connector guide. I added the property > > (The Hadoop environment i am working in is a shared Hadoop installation, > So users are not allowed to > add any jars in lib directory or make changes in Sqoop-site.xml of central > installation. > However, users can use .profile i.e. user's configuration files to specify > CLASSPATH ) > > I added the line com.teradata.jdbc.TeraDriver=<path to jar file > terajdbc4.jar> along with > com.cloudera.sqoop.manager.TeradataManagerFactory=<path to > sqoop-td-connector-1.0.5.jar> > in connectors file inside managers.d directory. In my CLASSPATH, i have > added path to > SQOOP_CONF i.e. a Sqoop folder where i have kept my managers.d and all > jars. > > > With these I suppose i am able to connect to teradata using the teradata > manager factory using the teradriver as well > but, still i am facing this when i issue the sqoop import command as below > > sqoop import > -libjars <path to tdgssconfig.jar> > --driver com.teradata.jdbc.TeraDriver > --connect jdbc:teradata://xxxxxx/DATABASE=dbname > --username hadoop --P > --table SQOOP_TEST > --num-mappers 3 --verbose > > 12/04/13 02:29:32 DEBUG tool.BaseSqoopTool: Enabled debug logging. > 12/04/13 02:29:32 WARN tool.BaseSqoopTool: Setting your password on the > command-line is insecure. Consider using -P instead. > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Checking for existing > class: com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Attempting to load jar > through URL: jar:file:///Sqoop/sqoop-td-connector-1.0.5.jar!/ > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Previous classloader is > java.net.URLClassLoader@6a8c436b > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Testing class in jar: > com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Loaded jar into current > JVM: jar:file:///Sqoop/sqoop-td-connector-1.0.5.jar!/ > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Added classloader for jar > /Sqoop/sqoop-td-connector-1.0.5.jar: java.net.FactoryURLClassLoader@45db05b2 > 12/04/13 02:29:32 DEBUG sqoop.ConnFactory: Added factory > com.cloudera.sqoop.manager.TeradataManagerFactory in jar > /Sqoop/sqoop-td-connector-1.0.5.jar specified by > /Sqoop/conf/managers.d/connectors > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Checking for existing > class: com.teradata.jdbc.TeraDriver > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Attempting to load jar > through URL: jar:file:///Sqoop/lib/terajdbc4.jar!/ > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Previous classloader is > java.net.FactoryURLClassLoader@45db05b2 > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Testing class in jar: > com.teradata.jdbc.TeraDriver > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Loaded jar into current > JVM: jar:file:///Sqoop/lib/terajdbc4.jar!/ > 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Added classloader for jar > /Sqoop/lib/terajdbc4.jar: java.net.FactoryURLClassLoader@518f5824 > 12/04/13 02:29:32 DEBUG sqoop.ConnFactory: Added factory > com.teradata.jdbc.TeraDriver in jar /Sqoop/lib/terajdbc4.jar specified by > /Sqoop/conf/managers.d/connectors > 12/04/13 02:29:32 DEBUG sqoop.ConnFactory: Loaded manager factory: > com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/13 02:29:32 ERROR tool.BaseSqoopTool: Got error creating database
-
Re: Error while importing from Teradata to HDFS
DIPESH KUMAR SINGH 2012-04-23, 17:32
Hi Cheolsoo,
As you suggested, I tried after removing "TeraDriver" line from connectors file but that didn't worked too. Please help..!!
Here is the stack trace:
> > 12/04/23 01:02:35 DEBUG tool.BaseSqoopTool: Enabled debug logging. > Enter password: > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Checking for existing class: > com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Attempting to load jar > through URL: > jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Previous classloader is > java.net.URLClassLoader@27b15692 > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Testing class in jar: > com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Loaded jar into current JVM: > jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Added classloader for jar > /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar: > java.net.FactoryURLClassLoader@19e3cd51 > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Added factory > com.cloudera.sqoop.manager.TeradataManagerFactory in jar > /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar specified by > /ms/user/a/sqoop-user/Sqoop/conf/managers.d/connectors > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: > com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: > com.cloudera.sqoop.manager.DefaultManagerFactory > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Trying ManagerFactory: > com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/23 01:02:42 DEBUG manager.TeradataManagerFactory: Trying with scheme: > jdbc:teradata: > 12/04/23 01:02:42 INFO manager.SqlManager: Using default fetchSize of 1000 > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Instantiated ConnManager > com.cloudera.sqoop.teradata.TeradataManager@220ca470 > 12/04/23 01:02:42 INFO tool.CodeGenTool: Beginning code generation > 12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: > java.lang.RuntimeException: Could not load db driver class: > com.teradata.jdbc.TeraDriver > java.lang.RuntimeException: Could not load db driver class: > com.teradata.jdbc.TeraDriver > at > com.cloudera.sqoop.manager.SqlManager.makeConnection(SqlManager.java:634) > at > com.cloudera.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:51) > at com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:456) > at com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:479) > at > com.cloudera.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:192) > at com.cloudera.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:176) > at com.cloudera.sqoop.orm.ClassWriter.generate(ClassWriter.java:1017) > at com.cloudera.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82) > at com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:337) > at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:423) > at com.cloudera.sqoop.Sqoop.run(Sqoop.java:144) > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) > at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:180) > at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:219) > at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:228) > at com.cloudera.sqoop.Sqoop.main(Sqoop.java:237) >
> Thanks,
Dipesh
On Sun, Apr 22, 2012 at 3:01 PM, Cheolsoo Park <[EMAIL PROTECTED]>wrote:
> Hi Dispesh, > > I added the line com.teradata.jdbc.TeraDriver=<path to jar file >> terajdbc4.jar> along with >> com.cloudera.sqoop.manager.TeradataManagerFactory=<path to >> sqoop-td-connector-1.0.5.jar> >> in connectors file inside managers.d directory. > > > Please remove "com.teradata.jdbc.TeraDriver=<path to jar file > terajdbc4.jar>" from your connector file. > > It should only contain "com.cloudera.sqoop.manager.TeradataManagerFactory=<path > to sqoop-td-connector-1.0.5.jar>". Dipesh Kr. Singh
-
Re: Error while importing from Teradata to HDFS
Cheolsoo Park 2012-04-23, 17:43
Hi Dipesh,
12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: > java.lang.RuntimeException: Could not load db driver class: > com.teradata.jdbc.TeraDriver > java.lang.RuntimeException: Could not load db driver class: > com.teradata.jdbc.TeraDrive Your Teradata jdbc jar is not found by Sqoop. The easiest way to fix it is to put *terajdbc4.jar* and *tdgssconfig.jar* in */usr/lib/sqoop/lib*.
Thanks, Cheolsoo
On Mon, Apr 23, 2012 at 10:32 AM, DIPESH KUMAR SINGH <[EMAIL PROTECTED]>wrote:
> Hi Cheolsoo, > > As you suggested, I tried after removing "TeraDriver" line from > connectors file but that didn't worked > too. Please help..!! > > Here is the stack trace: > >> >> 12/04/23 01:02:35 DEBUG tool.BaseSqoopTool: Enabled debug logging. >> > Enter password: >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Checking for existing >> class: com.cloudera.sqoop.manager.TeradataManagerFactory >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Attempting to load jar >> through URL: >> jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Previous classloader is >> java.net.URLClassLoader@27b15692 >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Testing class in jar: >> com.cloudera.sqoop.manager.TeradataManagerFactory >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Loaded jar into current >> JVM: jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Added classloader for jar >> /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar: >> java.net.FactoryURLClassLoader@19e3cd51 >> > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Added factory >> com.cloudera.sqoop.manager.TeradataManagerFactory in jar >> /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar specified by >> /ms/user/a/sqoop-user/Sqoop/conf/managers.d/connectors >> > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: >> com.cloudera.sqoop.manager.TeradataManagerFactory >> > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: >> com.cloudera.sqoop.manager.DefaultManagerFactory >> > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Trying ManagerFactory: >> com.cloudera.sqoop.manager.TeradataManagerFactory >> > 12/04/23 01:02:42 DEBUG manager.TeradataManagerFactory: Trying with >> scheme: jdbc:teradata: >> > 12/04/23 01:02:42 INFO manager.SqlManager: Using default fetchSize of 1000 >> > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Instantiated ConnManager >> com.cloudera.sqoop.teradata.TeradataManager@220ca470 >> > 12/04/23 01:02:42 INFO tool.CodeGenTool: Beginning code generation >> > 12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: >> java.lang.RuntimeException: Could not load db driver class: >> com.teradata.jdbc.TeraDriver >> > java.lang.RuntimeException: Could not load db driver class: >> com.teradata.jdbc.TeraDriver >> > at >> com.cloudera.sqoop.manager.SqlManager.makeConnection(SqlManager.java:634) >> > at >> com.cloudera.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:51) >> > at com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:456) >> > at com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:479) >> > at >> com.cloudera.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:192) >> > at >> com.cloudera.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:176) >> > at com.cloudera.sqoop.orm.ClassWriter.generate(ClassWriter.java:1017) >> > at com.cloudera.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82) >> > at com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:337) >> > at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:423) >> > at com.cloudera.sqoop.Sqoop.run(Sqoop.java:144) >> > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) >> > at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:180) >> > at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:219) >> > at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:228)
-
Re: Error while importing from Teradata to HDFS
DIPESH KUMAR SINGH 2012-04-23, 18:01
Hi Cheolsoo,
Yeah, I know. I was looking for an alternative way by which we could tell Sqoop to load jars from a location different than Sqoop/lib. I was looking for such an alternative because currently i don't have permissions to add jars in Sqoop/lib, though i have initiated the process.
Thanks & Regards,
Dipesh
On Mon, Apr 23, 2012 at 11:13 PM, Cheolsoo Park <[EMAIL PROTECTED]>wrote:
> Hi Dipesh, > > 12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: >> java.lang.RuntimeException: Could not load db driver class: >> com.teradata.jdbc.TeraDriver >> > java.lang.RuntimeException: Could not load db driver class: >> com.teradata.jdbc.TeraDrive > > > Your Teradata jdbc jar is not found by Sqoop. The easiest way to fix it is > to put *terajdbc4.jar* and *tdgssconfig.jar* in */usr/lib/sqoop/lib*. > > Thanks, > Cheolsoo > > On Mon, Apr 23, 2012 at 10:32 AM, DIPESH KUMAR SINGH < > [EMAIL PROTECTED]> wrote: > >> Hi Cheolsoo, >> >> As you suggested, I tried after removing "TeraDriver" line from >> connectors file but that didn't worked >> too. Please help..!! >> >> Here is the stack trace: >> >>> >>> 12/04/23 01:02:35 DEBUG tool.BaseSqoopTool: Enabled debug logging. >>> >> Enter password: >>> >> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Checking for existing >>> class: com.cloudera.sqoop.manager.TeradataManagerFactory >>> >> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Attempting to load jar >>> through URL: >>> jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ >>> >> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Previous classloader is >>> java.net.URLClassLoader@27b15692 >>> >> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Testing class in jar: >>> com.cloudera.sqoop.manager.TeradataManagerFactory >>> >> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Loaded jar into current >>> JVM: jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ >>> >> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Added classloader for jar >>> /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar: >>> java.net.FactoryURLClassLoader@19e3cd51 >>> >> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Added factory >>> com.cloudera.sqoop.manager.TeradataManagerFactory in jar >>> /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar specified by >>> /ms/user/a/sqoop-user/Sqoop/conf/managers.d/connectors >>> >> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: >>> com.cloudera.sqoop.manager.TeradataManagerFactory >>> >> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: >>> com.cloudera.sqoop.manager.DefaultManagerFactory >>> >> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Trying ManagerFactory: >>> com.cloudera.sqoop.manager.TeradataManagerFactory >>> >> 12/04/23 01:02:42 DEBUG manager.TeradataManagerFactory: Trying with >>> scheme: jdbc:teradata: >>> >> 12/04/23 01:02:42 INFO manager.SqlManager: Using default fetchSize of 1000 >>> >> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Instantiated ConnManager >>> com.cloudera.sqoop.teradata.TeradataManager@220ca470 >>> >> 12/04/23 01:02:42 INFO tool.CodeGenTool: Beginning code generation >>> >> 12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: >>> java.lang.RuntimeException: Could not load db driver class: >>> com.teradata.jdbc.TeraDriver >>> >> java.lang.RuntimeException: Could not load db driver class: >>> com.teradata.jdbc.TeraDriver >>> >> at >>> com.cloudera.sqoop.manager.SqlManager.makeConnection(SqlManager.java:634) >>> >> at >>> com.cloudera.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:51) >>> >> at com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:456) >>> >> at com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:479) >>> >> at >>> com.cloudera.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:192) >>> >> at >>> com.cloudera.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:176) >>> >> at com.cloudera.sqoop.orm.ClassWriter.generate(ClassWriter.java:1017) Dipesh Kr. Singh
-
Re: Error while importing from Teradata to HDFS
Anirudh 2012-04-23, 18:17
Dipesh,
It would be ideal if the jdbc driver is placed under Sqoop/lib as other users too would be able to leverage the same. But given your situation, use the -libjars option to point to the driver.
Hope this helps.
Thanks, Anirudh
On Mon, Apr 23, 2012 at 11:01 AM, DIPESH KUMAR SINGH <[EMAIL PROTECTED]>wrote:
> Hi Cheolsoo, > > Yeah, I know. I was looking for an alternative way by which we could tell > Sqoop to load jars from a location different than Sqoop/lib. I was looking > for such an alternative because currently i don't have > permissions to add jars in Sqoop/lib, though i have initiated the process. > > Thanks & Regards, > > Dipesh > > > > On Mon, Apr 23, 2012 at 11:13 PM, Cheolsoo Park <[EMAIL PROTECTED]>wrote: > >> Hi Dipesh, >> >> 12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: >>> java.lang.RuntimeException: Could not load db driver class: >>> com.teradata.jdbc.TeraDriver >>> >> java.lang.RuntimeException: Could not load db driver class: >>> com.teradata.jdbc.TeraDrive >> >> >> Your Teradata jdbc jar is not found by Sqoop. The easiest way to fix it >> is to put *terajdbc4.jar* and *tdgssconfig.jar* in */usr/lib/sqoop/lib*. >> >> Thanks, >> Cheolsoo >> >> On Mon, Apr 23, 2012 at 10:32 AM, DIPESH KUMAR SINGH < >> [EMAIL PROTECTED]> wrote: >> >>> Hi Cheolsoo, >>> >>> As you suggested, I tried after removing "TeraDriver" line from >>> connectors file but that didn't worked >>> too. Please help..!! >>> >>> Here is the stack trace: >>> >>>> >>>> 12/04/23 01:02:35 DEBUG tool.BaseSqoopTool: Enabled debug logging. >>>> >>> Enter password: >>>> >>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Checking for existing >>>> class: com.cloudera.sqoop.manager.TeradataManagerFactory >>>> >>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Attempting to load jar >>>> through URL: >>>> jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ >>>> >>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Previous classloader is >>>> java.net.URLClassLoader@27b15692 >>>> >>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Testing class in jar: >>>> com.cloudera.sqoop.manager.TeradataManagerFactory >>>> >>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Loaded jar into current >>>> JVM: jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ >>>> >>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Added classloader for jar >>>> /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar: >>>> java.net.FactoryURLClassLoader@19e3cd51 >>>> >>> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Added factory >>>> com.cloudera.sqoop.manager.TeradataManagerFactory in jar >>>> /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar specified by >>>> /ms/user/a/sqoop-user/Sqoop/conf/managers.d/connectors >>>> >>> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: >>>> com.cloudera.sqoop.manager.TeradataManagerFactory >>>> >>> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: >>>> com.cloudera.sqoop.manager.DefaultManagerFactory >>>> >>> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Trying ManagerFactory: >>>> com.cloudera.sqoop.manager.TeradataManagerFactory >>>> >>> 12/04/23 01:02:42 DEBUG manager.TeradataManagerFactory: Trying with >>>> scheme: jdbc:teradata: >>>> >>> 12/04/23 01:02:42 INFO manager.SqlManager: Using default fetchSize of >>>> 1000 >>>> >>> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Instantiated ConnManager >>>> com.cloudera.sqoop.teradata.TeradataManager@220ca470 >>>> >>> 12/04/23 01:02:42 INFO tool.CodeGenTool: Beginning code generation >>>> >>> 12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: >>>> java.lang.RuntimeException: Could not load db driver class: >>>> com.teradata.jdbc.TeraDriver >>>> >>> java.lang.RuntimeException: Could not load db driver class: >>>> com.teradata.jdbc.TeraDriver >>>> >>> at >>>> com.cloudera.sqoop.manager.SqlManager.makeConnection(SqlManager.java:634) >>>> >>> at >>>> com.cloudera.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:51)
-
Re: Error while importing from Teradata to HDFS
Cheolsoo Park 2012-04-23, 18:57
Hi Dipesh,
I was looking for such an alternative because currently i don't > have permissions to add jars in Sqoop/lib. OK, that's unfortunate.
If none of these suggestions is feasible for your case, there is the last thing that you can do: install Sqoop from the tarball in a directory where you have full permissions and use it instead. As long as HADOOP_HOME is set to the installed hadoop, everything will work.
Thanks, Cheolsoo On Mon, Apr 23, 2012 at 11:17 AM, Anirudh <[EMAIL PROTECTED]> wrote:
> Dipesh, > > It would be ideal if the jdbc driver is placed under Sqoop/lib as other > users too would be able to leverage the same. But given your situation, use > the -libjars option to point to the driver. > > Hope this helps. > > Thanks, > Anirudh > > > On Mon, Apr 23, 2012 at 11:01 AM, DIPESH KUMAR SINGH < > [EMAIL PROTECTED]> wrote: > >> Hi Cheolsoo, >> >> Yeah, I know. I was looking for an alternative way by which we could tell >> Sqoop to load jars from a location different than Sqoop/lib. I was looking >> for such an alternative because currently i don't have >> permissions to add jars in Sqoop/lib, though i have initiated the process. >> >> Thanks & Regards, >> >> Dipesh >> >> >> >> On Mon, Apr 23, 2012 at 11:13 PM, Cheolsoo Park <[EMAIL PROTECTED]>wrote: >> >>> Hi Dipesh, >>> >>> 12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: >>>> java.lang.RuntimeException: Could not load db driver class: >>>> com.teradata.jdbc.TeraDriver >>>> >>> java.lang.RuntimeException: Could not load db driver class: >>>> com.teradata.jdbc.TeraDrive >>> >>> >>> Your Teradata jdbc jar is not found by Sqoop. The easiest way to fix it >>> is to put *terajdbc4.jar* and *tdgssconfig.jar* in */usr/lib/sqoop/lib*. >>> >>> Thanks, >>> Cheolsoo >>> >>> On Mon, Apr 23, 2012 at 10:32 AM, DIPESH KUMAR SINGH < >>> [EMAIL PROTECTED]> wrote: >>> >>>> Hi Cheolsoo, >>>> >>>> As you suggested, I tried after removing "TeraDriver" line from >>>> connectors file but that didn't worked >>>> too. Please help..!! >>>> >>>> Here is the stack trace: >>>> >>>>> >>>>> 12/04/23 01:02:35 DEBUG tool.BaseSqoopTool: Enabled debug logging. >>>>> >>>> Enter password: >>>>> >>>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Checking for existing >>>>> class: com.cloudera.sqoop.manager.TeradataManagerFactory >>>>> >>>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Attempting to load jar >>>>> through URL: >>>>> jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ >>>>> >>>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Previous classloader is >>>>> java.net.URLClassLoader@27b15692 >>>>> >>>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Testing class in jar: >>>>> com.cloudera.sqoop.manager.TeradataManagerFactory >>>>> >>>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Loaded jar into current >>>>> JVM: jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ >>>>> >>>> 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Added classloader for >>>>> jar /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar: >>>>> java.net.FactoryURLClassLoader@19e3cd51 >>>>> >>>> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Added factory >>>>> com.cloudera.sqoop.manager.TeradataManagerFactory in jar >>>>> /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar specified by >>>>> /ms/user/a/sqoop-user/Sqoop/conf/managers.d/connectors >>>>> >>>> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: >>>>> com.cloudera.sqoop.manager.TeradataManagerFactory >>>>> >>>> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: >>>>> com.cloudera.sqoop.manager.DefaultManagerFactory >>>>> >>>> 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Trying ManagerFactory: >>>>> com.cloudera.sqoop.manager.TeradataManagerFactory >>>>> >>>> 12/04/23 01:02:42 DEBUG manager.TeradataManagerFactory: Trying with >>>>> scheme: jdbc:teradata: >>>>> >>>> 12/04/23 01:02:42 INFO manager.SqlManager: Using default fetchSize of >>>>> 1000 >>>>>
-
Re: Error while importing from Teradata to HDFS
Technical Anirudh 2012-04-23, 19:35
Yes it should but it is more of a hack :). I see no reasons why libjars option wouldn't work. And yes besides using libjars option, the jdbc driver also needs to be in the class path as sqoop will use it for fetching metadata in order to determine the splits.
Thanks, Anirudh
Sent from my iPhone
On Apr 23, 2012, at 11:57, Cheolsoo Park <[EMAIL PROTECTED]> wrote:
> Hi Dipesh, > > I was looking for such an alternative because currently i don't have permissions to add jars in Sqoop/lib. > > OK, that's unfortunate. > > If none of these suggestions is feasible for your case, there is the last thing that you can do: install Sqoop from the tarball in a directory where you have full permissions and use it instead. As long as HADOOP_HOME is set to the installed hadoop, everything will work. > > Thanks, > Cheolsoo > > > On Mon, Apr 23, 2012 at 11:17 AM, Anirudh <[EMAIL PROTECTED]> wrote: > Dipesh, > > It would be ideal if the jdbc driver is placed under Sqoop/lib as other users too would be able to leverage the same. But given your situation, use the -libjars option to point to the driver. > > Hope this helps. > > Thanks, > Anirudh > > > On Mon, Apr 23, 2012 at 11:01 AM, DIPESH KUMAR SINGH <[EMAIL PROTECTED]> wrote: > Hi Cheolsoo, > > Yeah, I know. I was looking for an alternative way by which we could tell Sqoop to load jars from a location different than Sqoop/lib. I was looking for such an alternative because currently i don't have > permissions to add jars in Sqoop/lib, though i have initiated the process. > > Thanks & Regards, > > Dipesh > > > > On Mon, Apr 23, 2012 at 11:13 PM, Cheolsoo Park <[EMAIL PROTECTED]> wrote: > Hi Dipesh, > > 12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: com.teradata.jdbc.TeraDriver > java.lang.RuntimeException: Could not load db driver class: com.teradata.jdbc.TeraDrive > > Your Teradata jdbc jar is not found by Sqoop. The easiest way to fix it is to put terajdbc4.jar and tdgssconfig.jar in /usr/lib/sqoop/lib. > > Thanks, > Cheolsoo > > On Mon, Apr 23, 2012 at 10:32 AM, DIPESH KUMAR SINGH <[EMAIL PROTECTED]> wrote: > Hi Cheolsoo, > > As you suggested, I tried after removing "TeraDriver" line from connectors file but that didn't worked > too. Please help..!! > > Here is the stack trace: > > 12/04/23 01:02:35 DEBUG tool.BaseSqoopTool: Enabled debug logging. > Enter password: > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Checking for existing class: com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Attempting to load jar through URL: jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Previous classloader is java.net.URLClassLoader@27b15692 > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Testing class in jar: com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Loaded jar into current JVM: jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Added classloader for jar /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar: java.net.FactoryURLClassLoader@19e3cd51 > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Added factory com.cloudera.sqoop.manager.TeradataManagerFactory in jar /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar specified by /ms/user/a/sqoop-user/Sqoop/conf/managers.d/connectors > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: com.cloudera.sqoop.manager.DefaultManagerFactory > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Trying ManagerFactory: com.cloudera.sqoop.manager.TeradataManagerFactory > 12/04/23 01:02:42 DEBUG manager.TeradataManagerFactory: Trying with scheme: jdbc:teradata: > 12/04/23 01:02:42 INFO manager.SqlManager: Using default fetchSize of 1000
|
|