java.lang.VerifyError while running Pig in Eclipse using Maven -


am trying execute apache pig code eclipse mentioned in http://pig.apache.org/docs/r0.12.0/test.html

below codes :

pom.xml

<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">     <modelversion>4.0.0</modelversion>      <groupid>com.pigtutorial.examples</groupid>     <artifactid>chap01</artifactid>     <version>0.1</version>     <packaging>jar</packaging>      <name>chap01</name>     <url>http://maven.apache.org</url>      <properties>         <project.build.sourceencoding>utf-8</project.build.sourceencoding>     </properties>      <dependencies>         <dependency>             <groupid>org.apache.hadoop</groupid>             <artifactid>hadoop-common</artifactid>             <version>2.3.0</version>         </dependency>         <dependency>             <groupid>org.apache.hadoop</groupid>             <artifactid>hadoop-core</artifactid>             <version>1.2.1</version>         </dependency>         <dependency>             <groupid>joda-time</groupid>             <artifactid>joda-time</artifactid>             <version>2.3</version>         </dependency>         <dependency>             <groupid>log4j</groupid>             <artifactid>log4j</artifactid>             <version>1.2.17</version>         </dependency>         <dependency>             <groupid>jline</groupid>             <artifactid>jline</artifactid>             <version>0.9.5</version>         </dependency>         <dependency>             <groupid>org.antlr</groupid>             <artifactid>antlr-runtime</artifactid>             <version>3.5.2</version>         </dependency>          <dependency>             <groupid>org.apache.pig</groupid>             <artifactid>pig</artifactid>             <version>0.12.0</version>         </dependency>         <dependency>             <groupid>org.apache.pig</groupid>             <artifactid>pigunit</artifactid>             <version>0.12.0</version>         </dependency>         <dependency>             <groupid>junit</groupid>             <artifactid>junit</artifactid>             <version>3.8.1</version>             <scope>test</scope>         </dependency>     </dependencies> </project> 

pigunit test case :

import java.io.ioexception;  import org.apache.pig.pigunit.pigtest; import org.apache.pig.tools.parameters.parseexception; import org.junit.test;   public class pigunittestpractise {       @test       public void testtop2queries() throws ioexception, parseexception {         string[] args = {             "n=2",             };          pigtest test = new pigtest("resources/top_queries.pig", args);          string[] input = {             "yahoo",             "yahoo",             "yahoo",             "twitter",             "facebook",             "facebook",             "linkedin",         };          string[] output = {             "(yahoo,3)",             "(facebook,2)",         };          test.assertoutput("data", input, "queries_limit", output);       }  } 

error :

java.lang.verifyerror: (class: org/apache/hadoop/mapred/jobtrackerinstrumentation, method: create signature: (lorg/apache/hadoop/mapred/jobtracker;lorg/apache/hadoop/mapred/jobconf;)lorg/apache/hadoop/mapred/jobtrackerinstrumentation;) incompatible argument function     @ org.apache.hadoop.mapred.localjobrunner.<init>(localjobrunner.java:573)     @ org.apache.hadoop.mapred.jobclient.init(jobclient.java:494)     @ org.apache.hadoop.mapred.jobclient.<init>(jobclient.java:479)     @ org.apache.pig.backend.hadoop.executionengine.mapreducelayer.mapreducelauncher.launchpig(mapreducelauncher.java:158)     @ org.apache.pig.pigserver.launchplan(pigserver.java:1322)     @ org.apache.pig.pigserver.executecompiledlogicalplan(pigserver.java:1307)     @ org.apache.pig.pigserver.storeex(pigserver.java:978)     @ org.apache.pig.pigserver.store(pigserver.java:942)     @ org.apache.pig.pigserver.openiterator(pigserver.java:855)     @ com.pigtutorial.examples.chap00.testcurrenttime.testallcurrenttimesame(testcurrenttime.java:62)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)     @ java.lang.reflect.method.invoke(method.java:597)     @ org.junit.runners.model.frameworkmethod$1.runreflectivecall(frameworkmethod.java:47)     @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:12)     @ org.junit.runners.model.frameworkmethod.invokeexplosively(frameworkmethod.java:44)     @ org.junit.internal.runners.statements.invokemethod.evaluate(invokemethod.java:17)     @ org.junit.internal.runners.statements.runbefores.evaluate(runbefores.java:26)     @ org.junit.runners.parentrunner.runleaf(parentrunner.java:271)     @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:70)     @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:50)     @ org.junit.runners.parentrunner$3.run(parentrunner.java:238)     @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:63)     @ org.junit.runners.parentrunner.runchildren(parentrunner.java:236)     @ org.junit.runners.parentrunner.access$000(parentrunner.java:53)     @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:229)     @ org.junit.runners.parentrunner.run(parentrunner.java:309)     @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:50)     @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:467)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:683)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:390)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:197) 

as per post java.lang.verifyerror, may have problem in order of import.

as per how fix java.lang.verifyerror?, may "running against different version of library code compiled against".

how find exact source of problem ? jar creating problem ?

could not find root cause, solved error using different dependencies. used cdh4.5 repository jars in maven dependency solve problem.

changed pom.xml :

<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">     <modelversion>4.0.0</modelversion>      <groupid>com.pigtutorial.examples</groupid>     <artifactid>chap01</artifactid>     <version>0.1</version>     <packaging>jar</packaging>      <name>chap01</name>     <url>http://maven.apache.org</url>      <properties>         <project.build.sourceencoding>utf-8</project.build.sourceencoding>     </properties>      <repositories>         <repository>             <id>cloudera</id>             <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>         </repository>     </repositories>      <dependencies>         <dependency>             <groupid>org.apache.hadoop</groupid>             <artifactid>hadoop-common</artifactid>             <version>2.0.0-cdh4.5.0</version>         </dependency>         <dependency>             <groupid>org.apache.hadoop</groupid>             <artifactid>hadoop-core</artifactid>             <version>2.0.0-mr1-cdh4.5.0</version>         </dependency>         <dependency>             <groupid>joda-time</groupid>             <artifactid>joda-time</artifactid>             <version>2.3</version>         </dependency>         <dependency>             <groupid>log4j</groupid>             <artifactid>log4j</artifactid>             <version>1.2.17</version>         </dependency>         <dependency>             <groupid>jline</groupid>             <artifactid>jline</artifactid>             <version>0.9.5</version>         </dependency>         <dependency>             <groupid>org.antlr</groupid>             <artifactid>antlr-runtime</artifactid>             <version>3.5.2</version>         </dependency>         <dependency>             <groupid>org.apache.pig</groupid>             <artifactid>pig</artifactid>             <version>0.11.0-cdh4.5.0</version>         </dependency>         <dependency>             <groupid>org.apache.pig</groupid>             <artifactid>pigunit</artifactid>             <version>0.11.0-cdh4.5.0</version>         </dependency>         <dependency>             <groupid>junit</groupid>             <artifactid>junit</artifactid>             <version>3.8.1</version>             <scope>test</scope>         </dependency>     </dependencies> </project> 

p.s
seem incompatibility between pig , hadoop api (i,e pig 0.12 not compatible work on hadoop 2.2.0) ?


Comments

Popular posts from this blog

Why can rails not find a route created by a helper? -

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -