gpt4 book ai didi

java - Apache Pig,程序运行问题

转载 作者:可可西里 更新时间:2023-11-01 16:27:24 26 4
gpt4 key购买 nike

REGISTER /home/hadoop/pigg/trunk/contrib/piggybank/java/piggybank.jar;

-- Use the PigStorage function to load the excite log file into the raw bag as an array of records.
-- Input: (user,time,query)
A = LOAD 'hadoop-test-data.csv' USING PigStorage(',') AS (user: chararray, site: chararray, view: int, click: int);

B = FOREACH A GENERATE org.apache.pig.piggybank.evaluation.string.UPPER(user);
-- Use the PigStorage function to store the results.
STORE B INTO 'test-pig-result' USING PigStorage();

这是我的代码,我只是将我的用户名转换为大写。我已将此代码存储在 pig 根文件夹中的 test.pig 中。

我正在运行这段代码,

java -cp $PIGGDIR/trunk/contrib/piggybank/java/piggybank.jar:$HADOOP_HOME/conf org.apache.pig.piggybank test.pig

但它不断抛出以下错误,

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/pig/piggybank/Main
Caused by: java.lang.ClassNotFoundException: org.apache.pig.piggybank.Main
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: org.apache.pig.piggybank.Main. Program will exit.

但是如果我在 grunt 上运行相同的程序,那么它会给我正确的输出。我已经尝试了 java -cp 倒数第二个参数的所有可能参数。

我还需要一个示例,其中使用了 CSVLoader 类。

最佳答案

如果你想在本地运行 pig 你应该运行 pig.jar 而不是 piggybank.jarpiggybank.jar 将通过脚本中的 REGISTER 命令包含在脚本中

关于java - Apache Pig,程序运行问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8635551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com