0
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();
이것은 내 코드입니다. 사용자 이름을 대문자로 변환 한 것입니다.이 코드는 돼지 루트 폴더의 test.pig에 저장되어 있습니다.
Apache Pig, programe 실행 문제
,
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.
을하지만 꿀꿀 거리는 소리에 같은 프로그램을 실행하면 다음 나에게 적절한 출력을 제공합니다. java -cp 님의 두 번째 마지막 매개 변수 인 가능한 모든 매개 변수를 시도했습니다.
또한 CSVLoader 클래스가 사용되는 예제가 필요합니다. 당신이 돼지를 실행하려면
하거나 bin''에서'pig' 실행 파일을 사용 . –