Schwein Fehler 1070, wenn dabei die UDF
Ich versuche zu laden, bis meine eigene UDF, die in der Schweinehaltung. Ich habe es in ein Glas mit eclipse export Funktion. Ich versuche, führen Sie es lokal, so kann ich sicherstellen, dass es funktioniert bevor ich das Glas auf HDFS. Wenn es läuft lokal, bekomme ich die folgende Fehlermeldung:
ERROR 1070: Could not resolve myudfs.MONTH using imports: [, org.apache.pig.builtin., org.apache.pig.impl.builtin.]
Skript
REGISTER myudfs.jar;
--DEFINE MONTH myudfs.MONTH;
A = load 'access_log_Jul95' using PigStorage(' ') as (ip:chararray, dash1:chararray, dash2:chararray, date:chararray, getRequset:chararray, status:int, port:int);
B = FOREACH A GENERATE myudfs.MONTH(date);
DUMP B;
Funktion
package myudfs;
import java.io.IOException;
import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;
import org.apache.pig.impl.util.WrappedIOException;
@SuppressWarnings("deprecation")
public class HOUR extends EvalFunc<String>
{
public String exec(Tuple input) throws IOException {
if (input == null || input.size() == 0)
return null;
try{
String str = (String)input.get(0);
return str.substring(1, 3);
}catch(Exception e){
throw WrappedIOException.wrap("Caught exception processing input row ", e);
}
}
}
Arbeitsverzeichnis
1.pig 2.pig bin myudfs.jar
pig.jar pig-withouthadoop.jar src/
Laufenden Befehl
pig -x local 2.pig
Struktur der jar -
0 Thu May 02 12:16:26 MDT 2013 META-INF/
68 Thu May 02 12:16:26 MDT 2013 META-INF/MANIFEST.MF
0 Thu May 02 12:05:50 MDT 2013 myudfs/
573 Thu May 02 12:15:10 MDT 2013 myudfs/HOUR.java
Ich bin wirklich in der Nähe starten einspannen Monitore, also ich bin gerade auf der Suche nach etwas Hilfe und Richtung. Lassen Sie mich wissen, was falsch sein könnte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre UDF-Klasse name genannt wird
HOUR
Also sollte nicht Ihr pig latin werden diese?