The easiest way is using “register” statement in pig:

register /localpathto/hcatalog-core.jar
……

Daniel

On 3/4/15, 1:18 AM, "李运田" <cumt...@163.com> wrote:

>https://issues.apache.org/jira/browse/PIG-2532
>this error is the same as mine。but I dont know how to added needed jars
>to eclipse in script.
>can you help me ?
>
> 
>
>
>
>
>
>
>
>
>
>
>At 2015-03-04 02:34:05, "Daniel Dai" <da...@hortonworks.com> wrote:
>>HCatSchema is in hcatalog-core.jar and it is missing in the backend. You
>>will need to register several jars in pig script:
>>
>>hcatalog-core.jar
>>
>>hive-metastore.jar
>>libthrift.jar
>>hive-core.jar
>>libfb303.jar
>>jdo*-api.jar
>>slf4j-api.jar
>>
>>
>>
>>
>>
>>
>>
>>When you run in command line, bin/pig script does that for you. But in
>>eclipse, you will need to do it by yourself.
>>
>>Daniel
>>
>>On 3/3/15, 4:40 AM, "李运田" <cumt...@163.com> wrote:
>>
>>>2015-03-03 19:54:43,072 INFO [main]
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Created MRAppMaster for
>>>application appattempt_1421806758143_0252_000001
>>>2015-03-03 19:54:43,623 WARN [main]
>>>org.apache.hadoop.conf.Configuration:
>>>job.xml:an attempt to override final parameter:
>>>mapreduce.job.end-notification.max.retry.interval;  Ignoring.
>>>2015-03-03 19:54:43,650 WARN [main]
>>>org.apache.hadoop.conf.Configuration:
>>>job.xml:an attempt to override final parameter:
>>>mapreduce.job.end-notification.max.attempts;  Ignoring.
>>>2015-03-03 19:54:43,778 WARN [main]
>>>org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop
>>>library for your platform... using builtin-java classes where applicable
>>>2015-03-03 19:54:43,798 INFO [main]
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Executing with tokens:
>>>2015-03-03 19:54:43,798 INFO [main]
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Kind: YARN_AM_RM_TOKEN,
>>>Service: , Ident:
>>>(org.apache.hadoop.yarn.security.AMRMTokenIdentifier@307c9a57)
>>>2015-03-03 19:54:43,833 INFO [main]
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster: The specific max
>>>attempts: 2 for application: 252. Attempt num: 1 is last retry: false
>>>2015-03-03 19:54:43,841 INFO [main]
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Using mapred
>>>newApiCommitter.
>>>2015-03-03 19:54:43,985 WARN [main]
>>>org.apache.hadoop.conf.Configuration:
>>>job.xml:an attempt to override final parameter:
>>>mapreduce.job.end-notification.max.retry.interval;  Ignoring.
>>>2015-03-03 19:54:43,999 WARN [main]
>>>org.apache.hadoop.conf.Configuration:
>>>job.xml:an attempt to override final parameter:
>>>mapreduce.job.end-notification.max.attempts;  Ignoring.
>>>2015-03-03 19:54:44,535 WARN [main]
>>>org.apache.hadoop.hdfs.BlockReaderLocal: The short-circuit local reads
>>>feature cannot be used because libhadoop cannot be loaded.
>>>2015-03-03 19:54:44,719 INFO [main]
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster: OutputCommitter set in
>>>config null
>>>2015-03-03 19:54:44,844 INFO [main]
>>>org.apache.hadoop.service.AbstractService: Service
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster failed in state INITED;
>>>cause: org.apache.hadoop.yarn.exceptions.YarnRuntimeException:
>>>java.io.IOException: Deserialization error:
>>>org.apache.hcatalog.data.schema.HCatSchema
>>>org.apache.hadoop.yarn.exceptions.YarnRuntimeException:
>>>java.io.IOException: Deserialization error:
>>>org.apache.hcatalog.data.schema.HCatSchema
>>>     at 
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster.createOutputCommitter(MRA
>>>pp
>>>Master.java:473)
>>>     at 
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster.serviceInit(MRAppMaster.j
>>>av
>>>a:374)
>>>     at 
>>>org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
>>>     at 
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster$1.run(MRAppMaster.java:14
>>>56
>>>)
>>>     at java.security.AccessController.doPrivileged(Native Method)
>>>     at javax.security.auth.Subject.doAs(Subject.java:415)
>>>     at 
>>>org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformatio
>>>n.
>>>java:1548)
>>>     at 
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster.initAndStartAppMaster(MRA
>>>pp
>>>Master.java:1453)
>>>     at 
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:138
>>>6)
>>>Caused by: java.io.IOException: Deserialization error:
>>>org.apache.hcatalog.data.schema.HCatSchema
>>>     at 
>>>org.apache.pig.impl.util.ObjectSerializer.deserialize(ObjectSerializer.j
>>>av
>>>a:59)
>>>     at org.apache.pig.impl.util.UDFContext.deserialize(UDFContext.java:192)
>>>     at 
>>>org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil.setupUDFCo
>>>nt
>>>ext(MapRedUtil.java:173)
>>>     at 
>>>org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFo
>>>rm
>>>at.setupUdfEnvAndStores(PigOutputFormat.java:229)
>>>     at 
>>>org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFo
>>>rm
>>>at.getOutputCommitter(PigOutputFormat.java:275)
>>>     at 
>>>org.apache.hadoop.mapreduce.v2.app.MRAppMaster.createOutputCommitter(MRA
>>>pp
>>>Master.java:471)
>>>     ... 8 more
>>>Caused by: java.lang.ClassNotFoundException:
>>>org.apache.hcatalog.data.schema.HCatSchema
>>>     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>     at java.security.AccessController.doPrivileged(Native Method)
>>>     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>     at java.lang.Class.forName0(Native Method)
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>在 2015-02-28 09:37:29,"李运田" <cumt...@163.com> 写道:
>>>
>>>pigServer.registerQuery("tmp = load 'pig' using
>>>org.apache.hcatalog.pig.HCatLoader();");
>>>pigServer.registerQuery("tmp = foreach tmp generate id;");
>>>when I execute this,I cant get  any error
>>>but,When I execute
>>>pigServer.registerQuery("store tmp into 'hive' using
>>>org.apache.hcatalog.pig.HCatStorer();");
>>>I get error like this:::
>>>org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066: Unable
>>>to
>>>open iterator for alias tmp
>>> at org.apache.pig.PigServer.openIterator(PigServer.java:880)
>>> at org.gradle.PigHiveHCat.run(PigHiveHCat.java:68)
>>> at org.gradle.PigHiveHCat.main(PigHiveHCat.java:28)
>>>Caused by: java.io.IOException: Job terminated with anomalous status
>>>FAILED
>>> at org.apache.pig.PigServer.openIterator(PigServer.java:872)
>>> ... 2 more
>>>........................................................................
>>>..
>>>.................................
>>>pigServer.registerQuery("a = LOAD '/user/hadoop/pig.txt' ;");
>>>pigServer.store("a", "/user/hadoop/pig1.txt");
>>>pigServer.registerQuery("store a into '/user/hadoop/pig2.txt';");
>>>........................................this is OK,so I think something
>>>about Hcatalog is wrong...........................
>>>
>>>
>>>At 2015-02-28 01:21:12, "Alan Gates" <alanfga...@gmail.com> wrote:
>>>What error message are you getting?
>>>
>>>Alan.
>>>
>>>
>>>李运田
>>>February 26, 2015 at 18:58
>>>I want to use hcatalog in eclipse to deal with tables in hive.
>>>but I cant store table into hive::
>>>pigServer.registerQuery("tmp = load 'pig' using
>>>org.apache.hcatalog.pig.HCatLoader();");
>>>pigServer.registerQuery("tmp = foreach tmp generate id;");
>>>pigServer.registerQuery("store tmp into 'hive' using
>>>org.apache.hcatalog.pig.HCatStorer();");
>>>I can store into file::
>>>pigServer.registerQuery("a = LOAD '/user/hadoop/pig.txt' ;");
>>>pigServer.store("a", "/user/hadoop/pig1.txt");
>>>pigServer.registerQuery("store a into '/user/hadoop/pig2.txt';");
>>>perhaps ,the hcatalog jars are wrong?
>>>
>>>
>>

Reply via email to