Ovaj post sadrži potreban korak potreban za stvaranje UDF-a u Apache Pig-u. Svi bi UDF trebali proširiti funkciju filtra i moraju sadržavati metodu koja se naziva exec, a koja sadrži Tuple. Logika koja se ovdje primjenjuje je da ako je Tuple null ili zero, dat će vam logičku vrijednost: True ili False. A 'IsofAge' služi za provjeru je li navedena dob točna ili nije. Logika korisnički definirane funkcije napisana je u Java kodovima, gdje će se JAR datoteka stvoriti, a zatim izvesti. JAR datoteka je kasnije registrirana. Te se JAR datoteke nalaze u knjižničnim datotekama Apache Pig u trenutku učitavanja.
javna klasa IsOfAge proširuje FilterFunc { @Preuzmi publicBoolean exec (Tuple tuple) throwsIOException { if (tuple == null || tuple.size () == 0) { returnfalse } probati{ Objekt objekt = tuple.get (0) if (objekt == null) { returnfalse } inti = (Integer) objekt ako (i == 18 || i == 19 || i == 21 || i == 23 || i == 27) { povratnik } ostalo { returnfalse }} ulov (ExecExceptione) { thrownewIOException (e) }}}
Kako nazvati svinju UDF?
Jednom kada se kreira UDF, za registraciju JAR datoteke mora se koristiti sljedeća naredba.
registriraj myudf.jar X = filtriraj A prema IsOfAge (dob)
Koraci za stvaranje UDF-a u Svinji:
U Apache Pig postoji više unaprijed definiranih funkcija. Također imamo značajku za stvaranje vlastite funkcije koja je korisnički definirana funkcija (UDF). Pig UDF napisan je na Javi, a to zahtijeva da Pig Library koristi unaprijed definirane klase. Knjižnica Apache Pig svinja-0.8.0-cdh3u0-core.jar može se preuzeti s interneta.
kako koristiti skener u javi -
Kliknite ovdje za korake za stvaranje Pig skripte s UDF-om u HDFS načinu.
Imate pitanje za nas? Spomenite ih u odjeljku za komentare i javit ćemo vam se.
Vezane objave:
što je vizualizacija podataka u tablici
Apache svinjska skripta s UDF-om u HDFS načinu
metoda preopterećenja i nadjačavanja u javi
Operateri u svinji Apache: 1. dio - relacijski operateri
Operatori u Apache Pig: Dio 2 - Dijagnostički operateri