【问题标题】:how to run embedded pig program using java in eclipse?如何在eclipse中使用java运行嵌入式猪程序?
【发布时间】:2015-06-07 18:20:52
【问题描述】:

我是 hadoop 新手。我正在使用猪 0.14.0 和 hadoop 1.2.1。我已经在本地和 map reduce 模式下成功地从 grunt shell 和 pig 批处理脚本运行了 pig。现在我正在尝试从 Java 中的嵌入式 pig 运行 pig。 当我在 Eclipse 中编译代码时,出现以下错误:

线程“主”java.lang.NoClassDefFoundError 中的异常: org/apache/commons/logging/LogFactory 在 org.apache.pig.impl.util.PropertiesUtil.(PropertiesUtil.java:34) 在 org.apache.pig.PigServer.(PigServer.java:202) 在 test.main(test.java:6) 引起:java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 在 java.net.URLClassLoader$1.run(URLClassLoader.java:366) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:355) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:425) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 3 更多

import org.apache.pig.ExecType;
import org.apache.pig.PigServer;
public class test {
    public static void main(String[] args) {
        try {
            PigServer pigServer = new PigServer(ExecType.MAPREDUCE);
            runQuery(pigServer);
        }catch(Exception e) {
            e.printStackTrace();
        }
    }
    public static void runQuery(PigServer pigServer) {
        try {
            pigServer.registerQuery("input1 = LOAD '/mydata/wct.txt' as (line:chararray);");
            pigServer.registerQuery("words = foreach input1 generate FLATTEN(TOKENIZE(line)) as word;");
            pigServer.registerQuery("word_groups = group words by word;");
            pigServer.registerQuery("word_count = foreach word_groups generate group, COUNT(words);");
            pigServer.registerQuery("ordered_word_count = order word_count by group desc;");
            pigServer.registerQuery("store ordered_word_count into '/mydata/wct';");
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}

请帮助我。提前致谢。

【问题讨论】:

    标签: java eclipse hadoop mapreduce apache-pig


    【解决方案1】:

    请添加commons依赖:

    <dependency>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
          <version>1.1.1</version>
      </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2016-11-18
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多