Dette indlæg indeholder det nødvendige trin, der kræves for at oprette UDF i Apache Pig. Alle UDF skal udvide en filterfunktion og skal indeholde en metode kaldet exec, som indeholder en Tuple. Logikken anvendt her er, at hvis Tuple er nul eller nul, vil det give dig en boolsk værdi: Sand eller falsk. Og 'IsofAge' er til at kontrollere, om den angivne alder er korrekt eller ej. Logikken for den brugerdefinerede funktion er skrevet i Java-koder, hvor JAR-filen oprettes og derefter eksporteres. JAR-filen registreres senere. Disse JAR-filer findes i biblioteksfilerne til Apache Pig på indlæsningstidspunktet.
offentlig klasse IsOfAge udvider FilterFunc { @Override publicBoolean exec (Tuple tuple) kasterIOException { hvis (tuple == null || tuple.size () == 0) { returfalsk } prøve{ Objektobjekt = tuple.get (0) hvis (objekt == null) { returfalsk } inti = (Heltal) objekt hvis (i == 18 || i == 19 || i == 21 || i == 23 || i == 27) { tilbagevenden } andet { returfalsk }} fangst (ExecExceptione) { throwewIOException (e) }}}
Hvordan man kalder en svin UDF?
Når en UDF er oprettet, skal følgende kommando bruges til at registrere JAR-filen.
registrer myudf.jar X = filter A af IsOfAge (alder)
Trin til oprettelse af UDF i svin:
Der er flere foruddefinerede funktioner i Apache Pig. Vi har også funktionen til at oprette vores egen funktion, der er brugerdefineret funktion (UDF). Pig UDF er skrevet i Java, og dette kræver, at Pig Library bruger de foruddefinerede klasser. Apache Pig-biblioteket pig-0.8.0-cdh3u0-core.jar kan downloades fra internettet.
Klik her for trin til oprettelse af et griseskript med UDF i HDFS-tilstand.
Har du et spørgsmål til os? Nævn dem i kommentarfeltet, så vender vi tilbage til dig.
hvornår du skal bruge denne java
Relaterede indlæg:
Apache Pig Script med UDF i HDFS-tilstand
Operatører i Apache Pig: Del 1 - Relationelle operatører
Operatører i Apache Pig: Del 2 - Diagnostiske operatører
læse og skrive excel-fil i java