Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Exception in thread "main" java.lang.IncompatibleClassChangeError: Imp

I am working on BigData project using Talend, So far it was working fine but, from last two days i am getting below error. 
when tHiveConnection tries to connect with hive. 
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:93)
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at hdfs_talend.u_loadtohive_1_0.U_LoadToHive.tHiveConnection_1Process(U_LoadToHive.java:6101)

I have done following things to over cone this issue. 
1. Created new project with new workspace ( last tie we have solve this using this technique)
2. Replace all the jars with last success full run jars. 
I am thing problem occurs due to auto update, not sure any one has suggestion here I don`t see any thread regarding such issue. 
Talend BigData version 5.6.1.20141207_1530
Labels (4)
10 Replies
_AnonymousUser
Specialist III
Specialist III

I guess its the problem with the jar file. Try with the latest jar and see if it helps out or else delete the component from the job and add it again from palette
Anonymous
Not applicable
Author

I tried both of the things, but no luck. I am debugging, and I think there is conflict over cloud-era hive implementation and Apache hive, due to which this error occurs. Give more specific reason soon. 
_AnonymousUser
Specialist III
Specialist III

I cant think of any other reason apart from missing library files or duplicate library files from the classpath
refer this to have some insight on the error http: //stackoverflow.com/questions/1980452/what-causes-java-lang-incompatibleclasschangeerror/1980474#1980474
_AnonymousUser
Specialist III
Specialist III

http: //stackoverflow.com/questions/23332022/hive-0-12-0-incompatibleclasschangeerror
http: //stackoverflow.com/questions/10328419/error-while-executing-program-with-hive-jdbc
Anonymous
Not applicable
Author

I agree on your second thought that we may have duplicate libraries in classpath. and yes I do have that but if removes some of the new versions hive then my job start complaining for missing jars or references. Let me explain in better.   
I am having two jobs 1. for Cloudera distribution 2. Apache distribution.
now am using both the jobs( 1 and 2) in single job (3) which takes certain parameter to execute appropriate distribution. due to which I am getting this problem. 
If I remove Cloudera then it works fine but I need both of them in single job. to run either job I need complete set of jar for each of distribution and some or other has conflict with each other. 
Hope you got the point. 
_AnonymousUser
Specialist III
Specialist III

Instead of using both the distribution in single job, can you build a job with cloudera distribution and use a trunjob and that will inturn refer the apache distribution job. In that way atleast you dont have any conflicts while running the job as it will be completely referenced as a separate job. or else post the screen of your job?
Anonymous
Not applicable
Author

Exactly I am doing, and still this error is there, because it is part of 3rd job it takes all the jars in single build which may cause this issue. what you say?
_AnonymousUser
Specialist III
Specialist III

Agree with you!! That could cause the jar conflicts 
Anonymous
Not applicable
Author

but question is how to assign specific jars to respective jobs? is there way to do that? or building separate jobs is the last option?