Tämä viesti sisältää tarvittavan vaiheen, joka tarvitaan UDF: n luomiseen Apache Pig -sovellukseen. Kaikkien UDF: n tulisi laajentaa suodatintoimintoa ja sen on sisällettävä menetelmä nimeltä exec, joka sisältää Tuplen. Tässä sovellettu logiikka on, että jos Tuple on nolla tai nolla, se antaa sinulle loogisen arvon: tosi tai väärä. Ja IsofAge on tarkoitettu tarkistamaan, onko annettu ikä oikea vai ei. Käyttäjän määrittämän toiminnon logiikka kirjoitetaan Java-koodeihin, joissa JAR-tiedosto luodaan ja viedään sitten. JAR-tiedosto rekisteröidään myöhemmin. Nämä JAR-tiedostot löytyvät Apache Pig -kirjastotiedostoista lataamisen yhteydessä.
public class IsOfAge laajentaa FilterFunc { @Ohittaa publicBoolean exec (Tuple tuple) heittääIOException { jos (tuple == null || tuple.size () == 0) { returnfalse } yrittää{ Objektiobjekti = tuple.get (0) jos (objekti == null) { returnfalse } inti = (Kokonaisluku) objekti jos (i == 18 || i == 19 || i == 21 || i == 23 || i == 27) { paluu totta } muu { returnfalse }} saalis (ExecExceptione) { heittää uusiIOException (e) }}}
Kuinka soittaa sika UDF: lle?
Kun UDF on luotu, seuraavaa komentoa on käytettävä JAR-tiedoston rekisteröimiseksi.
rekisteröi myudf.jar X = suodatin A, jonka tekijä on IsOfAge (ikä)
Vaiheet UDF: n luomiseen Possussa:
Apache Pig -sovelluksessa on useita ennalta määritettyjä toimintoja. Meillä on myös ominaisuus luoda oma toiminto, joka on käyttäjän määrittelemä toiminto (UDF). Pig UDF on kirjoitettu Java-sovelluksessa, mikä vaatii Pig Libraryn käyttämään ennalta määritettyjä luokkia. Apache Pig -kirjasto sika-0,8,0-cdh3u0-ydin. jar voidaan ladata Internetistä.
Napsauttamalla tätä saat ohjeita Pig-komentosarjan luomiseen UDF: llä HDFS-tilassa.
php muuttaa merkkijonon taulukoksi
Onko sinulla kysymys meille? Mainitse ne kommenttiosassa ja palaamme sinuun.
Aiheeseen liittyvät julkaisut:
Apache Pig Script UDF: llä HDFS-tilassa
Operaattorit Apache Pigissa: Osa 1 - Relaatiooperaattorit
Operaattorit Apache Pigissa: Osa 2 - Diagnoosioperaattorit