简体   繁体   English

猪和HCatalog

[英]Pig and HCatalog

I am getting the following error when I run "pig -useHCatalog". 运行“ pig -useHCatalog”时出现以下错误。

Exception inthread"main"java.lang.NoClassDefFoundError:/usr/lib/hive/lib/libthrift-    
0/9/1/jar:/usr/lib/hive/lib/hive-exec-0/12/0/2/0/6/0-76/jar:/usr/lib/hive/lib/libfb303-
0/9/0/jar:/usr/lib/hive/lib/jdo-api-3/0/1/jar:/usr/lib/hive/lib/slf4j-api-1/7/2/jar
Caused by: java.lang.ClassNotFoundException: .usr.lib.hive.lib.libthrift-
0.9.1.jar:.usr.lib.hive.lib.hive-exec-0.12.0.2.0.6.0-76.jar:.usr.lib.hive.lib.libfb303-
    0.9.0.jar:.usr.lib.hive.lib.jdo-api-3.0.1.jar:.usr.lib.hive.lib.slf4j-api-1.7.2.jar
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: /usr/lib/hive/lib/libthrift-   
0.9.1.jar:/usr/lib/hive/lib/hive-exec-0.12.0.2.0.6.0-76.jar:/usr/lib/hive/lib/libfb303-
0.9.0.jar:/usr/lib/hive/lib/jdo-api-3.0.1.jar:/usr/lib/hive/lib/slf4j-api-1.7.2.jar.  
Program will exit

I have defined all the environement variables (including PIG_CLASSPATH) as below and also defined pig.additiona.jars in the pig.properties files 我已经如下定义了所有环境变量(包括PIG_CLASSPATH),并且还在pig.properties文件中定义了pig.additiona.jars

   export HADOOP_GROUP=hadoop ;
    export HADOOP_HOME=/usr/lib/hadoop
    export HCAT_HOME=/usr/lib/hcatalog
    export HIVE_HOME=/usr/lib/hive
    export templeton_host=$TEMPLETON_HOST
    export user_name=hcat
    export PIG_CLASSPATH=$HCAT_HOME/share/hcatalog/hcatalog-*.jar:\
    $HIVE_HOME/lib/hive-metastore-*.jar:$HIVE_HOME/lib/libthrift-*.jar:\
    $HIVE_HOME/lib/hive-exec-*.jar:$HIVE_HOME/lib/libfb303-*.jar:\
    $HIVE_HOME/lib/jdo2-api-*-ec.jar:$HIVE_HOME/conf:$HADOOP_CONF_DIR:\
    $HIVE_HOME/lib/slf4j-api-*.jar:/usr/lib/hive/lib/libthrift-    
    0.9.1.jar:/usr/lib/hive/lib/hive-exec-0.12.0.2.0.6.0-76.jar:/usr/lib/hive/lib/libfb303-
    0.9.0.jar:/usr/lib/hive/lib/jdo-api-3.0.1.jar:/usr/lib/hive/lib/slf4j-api-1.7.2.jar

    export PIG_OPTS=-Dhive.metastore.uris=thrift://$HIVE_HOST:$HIVE_PORT

In pig.properties file, 在pig.properties文件中,

pig.additional.jars=/usr/lib/hive/lib/libthrift-0.9.1.jar:/usr/lib/hive/lib/hive-exec-   
   0.12.0.2.0.6.0-76.jar:/usr/lib/hive/lib/libfb303-0.9.0.jar:/usr/lib/hive/lib/jdo-api-  
   3.0.1.jar:/usr/lib/hive/lib/slf4j-api-1.7.2.jar

Please let me know how this could be resolved. 请让我知道如何解决。 Thanks! 谢谢!

请按照此处提到的步骤安装/配置HCatalog并将其与Pig集成。

You need to configure your environment variables in ~./bashrc 您需要在〜。/ bashrc中配置环境变量

  • export SQOOP_HOME=/usr/lib/sqoop 导出SQOOP_HOME = / usr / lib / sqoop
  • export HBASE_HOME=/usr/local/Hbase 导出HBASE_HOME = / usr / local / Hbase
  • export HIVE_HOME=/usr/local/hive 导出HIVE_HOME = / usr / local / hive
  • export HCAT_HOME=/usr/local/hive/hcatalog 导出HCAT_HOME = / usr / local / hive / hcatalog

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM