Tento príspevok obsahuje potrebný krok potrebný na vytvorenie UDF v Apache Pig. Všetky UDF by mali rozširovať funkciu filtra a musia obsahovať metódu nazvanú exec, ktorá obsahuje n-ticu. Logika použitá tu je, že ak je Tuple nulová alebo nulová, dá vám boolovskú hodnotu: True alebo False. A program „IsofAge“ slúži na kontrolu správnosti alebo nesprávneho veku. Logika funkcie definovanej používateľom je napísaná v kódoch Java, kde sa vytvorí a následne exportuje súbor JAR. Súbor JAR je neskôr zaregistrovaný. Tieto súbory JAR sa nachádzajú v súboroch knižnice Apache Pig v čase načítania.
verejná trieda IsOfAge rozširuje FilterFunc { @ Override publicBoolean exec (Tuple n-tica) throwsIOException { if (tuple == null || tuple.size () == 0) { returnfalse } skúsiť { Objekt objekt = tuple.get (0) if (object == null) { returnfalse } inti = (Celé číslo) objekt if (i == 18 || i == 19 || i == 21 || i == 23 || i == 27) { returntrue } else { returnfalse }} chytit (ExecExceptione) { thrownewIOException (e) }}}
Ako zavolať prasa UDF?
Po vytvorení UDF sa na registráciu súboru JAR musí použiť nasledujúci príkaz.
register myudf.jar X = filter A podľa IsOfAge (vek)
Kroky na vytvorenie UDF u ošípaných:
V Apache Pig je niekoľko preddefinovaných funkcií. Máme tiež funkciu na vytvorenie našej vlastnej funkcie, ktorou je User Defined Function (UDF). Pig UDF je napísané v Jave a vyžaduje si preto, aby Pig Library používala preddefinované triedy. Knižnica Apache Pig pig-0.8.0-cdh3u0-core.jar možno stiahnuť z internetu.
Kliknutím sem zobrazíte kroky na vytvorenie skriptu ošípaných pomocou UDF v režime HDFS.
Máte na nás otázku? Uveďte ich v sekcii komentárov a my sa vám ozveme.
Súvisiace príspevky:
c ++ zlúčiť triediaci kód
Apache Pig Script s UDF v režime HDFS
Operátory v Apache Pig: Časť 1 - Relačné operátory
Operátori v Apache Pig: Časť 2 - Diagnostickí operátori