Apache Pigi operaatorid: 1. osa - suhtlusoperaatorid

Selles postituses kirjeldatakse Apache Pigi operaatoreid. Vaadake seda postitust operaatoritele Apache Pigis: 1. osa - suhtlusoperaatorid.

See postitus räägib operaatoritest Apache Pigis.Apache Pig võimaldab teil kirjutada keerukaid andmete teisendusi ka Java teadmata, muutes selle .Vaatame enne operaatorite poole liikumist kiirelt, mis on siga ja siga Ladina keel ning erinevad režiimid, milles neid saab kasutada.



Mis on Apache Pig?

Apache Pig on kõrgetasemeline protseduurikeel Hadoopi ja Map Reduce Platformi abil suurte andmekogumite päringuteks. See on Java-pakett, kus skripte saab käivitada mis tahes JVM-is töötavas keeles. Seda kasutatakse korduvalt protsessides.



php teisendab objekti massiiviks

Apache Pig lihtsustab Hadoopi kasutamist, lubades SQL-i sarnaseid päringuid hajutatud andmekogumisse ja võimaldab luua keerukaid ülesandeid suurte andmemahtude kiireks ja tõhusaks töötlemiseks. Pigi parim omadus on see, et see toetab paljusid relatsioonifunktsioone, nagu Liitumine, Grupp ja Koondamine.

Ma tean, et Pig kõlab palju rohkem kui ETL-i tööriist ja sellel on palju funktsioone, mis on sarnased ETL-i tööriistadega. Kuid Pigi eeliseks ETL-i tööriistade ees on see, et see võib töötada paljudes serverites üheaegselt.



Mis on Apache Pig Latin?

Apache Pig loob Map Reduce abil lihtsama protseduurilise keele abstraktsiooni, et paljastada struktureerituma päringukeelega (SQL) sarnane liides Hadoopi rakenduste jaoks, mida nimetatakse Apache Pig Latiniks. Nii et saate eraldi Map Reduce'i rakenduse kirjutamise asemel kirjutada Apache'is ühe skripti Pig Ladina, mis on automaatselt paralleelne ja jaotatud üle klastri. Lihtsamate sõnadega, Pig Latin, on jada lihtsatest lausetest, mis võtavad sisendi ja toodavad väljundit. Sisend- ja väljundandmed koosnevad kottidest, kaartidest, tuplidest ja skalaarist.

Apache sea käivitamisrežiimid:

Apache Pigil on kaks täitmisrežiimi:

  • Kohalik režiim

Kohalikus režiimis valitakse lähteandmed teie arvutisüsteemi kohalikust kataloogist. Režiimi MapReduce saab määrata käsuga ’pig –x local’.



Apache Pigi operaatorid - 1

  • MapReduce režiim:

Pigi käivitamiseks MapReduce režiimis on teil vaja juurdepääsu Hadoopi klastri ja HDFS-i installile. MapReduce-režiimi saab määrata käsu siga abil.

Apache seaoperaatorid:

Apache Pig Operators on kõrgetasemeline protseduurikeel suurte andmekogumite päringuteks Hadoopi ja Map Reduce'i platvormi abil. Pig Ladina lause on operaator, kes võtab sisendina suhte ja väljundina teise suhte. Need operaatorid on peamised vahendid, mida Pig Latin pakub andmete töötlemiseks. Need võimaldavad teil seda muuta, sorteerides, rühmitades, ühendades, projitseerides ja filtreerides.

Loome käskude käitamiseks kaks faili:

Meil on kaks faili nimega ‘esimene’ ja ‘teine’. Esimene fail sisaldab kolme välja: kasutaja, URL ja id.

Teine fail sisaldab kahte välja: URL ja hinnang. Need kaks faili on CSV-failid.

Apache Pigi operaatorid võib liigitada järgmiselt: Suhteline ja diagnostiline.

Suhtelised operaatorid:

Suhetesoperaatorid on peamised vahendid, mida Pig Latin pakub andmete töötlemiseks. See võimaldab teil andmeid teisendada sortimise, rühmitamise, ühendamise, projitseerimise ja filtreerimise teel. See jaotis käsitleb põhilisi relatsioonide operaatoreid.

LAADI:

Operaatorit LOAD kasutatakse andmete laadimiseks failisüsteemist või HDFS-mäluseadmest Pigi suhtesse.

Selles näites koormusoperaator laadib andmed failist ‘esimene’ vormi seosesse ’loading1’. Väljade nimed on user, url, id.

IGAÜHELE:

See operaator genereerib andmete teisendused andmeveerude põhjal. Seda kasutatakse seoste väljade lisamiseks või eemaldamiseks. Andmeveerudega töötamiseks kasutage operatsiooni FOREACH-GENERATE.

VÄLJASED tulemused:

FILTER:

See operaator valib hulga seose alusel tingimuse alusel.

Selles näites filtreerime kirje jaotisest 'loading1', kui tingimus 'id' on suurem kui 8.

FILTER Tulemus:

LIITU:

JOIN-operaatorit kasutatakse kahe või enama seose sisemise, võrdse ühendamise teostamiseks, mis põhinevad ühise välja väärtustel. JOIN operaator teostab alati sisemist liitumist. Sisemine liitumine ignoreerib nullvõtmeid, seega on mõttekas need enne liitumist välja filtreerida.

Selles näites ühendage need kaks suhet, põhinedes veergudel URL URL-idelt 'loading1' ja 'loading2'.

LIITU Tulemus:

TELLI:

Järjestuse järgi kasutatakse suhte sortimiseks ühe või mitme välja põhjal. Sorteerida saab kasvavas või kahanevas järjekorras, kasutades ASC ja DESC märksõnu.

Allpool olevas näites sorteerime reitinguväljal andmed kasvavas järjestuses kasvavas järjekorras.

TELLI TULEMUSE JÄRGI :

ERISTA:

Distinct eemaldab relatsiooni duplikaadid. Võtame sisendfaili nagu allpool, millel on amr, jama, 8 ja amr, myblog, 10 kaks korda failis. Kui rakendame selles failis olevatele andmetele eraldi, eemaldatakse duplikaatkirjed.

ERISTAMINE Tulemus:

Pood:

Poodi kasutatakse tulemuste salvestamiseks failisüsteemi.

Siin me säästame laadimine3 andmed faili nimega ladustamine HDFS-is.

POE tulemus:

GRUPP:

Operaator GROUP rühmitab rühmad sama grupivõtmega (võtmeväli). Võtmeväli on dupleks, kui rühmavõtmel on rohkem kui üks väli, vastasel juhul on see sama tüüpi kui grupivõtmel. GROUP-i operatsiooni tulemus on seos, mis sisaldab ühte gruppi ühte dupletti.

Selles näites rühm th

e seos ‘loading1’ veeru URL-i järgi.

GRUPI tulemus:

KOGU:

COGROUP on sama mis GROUP operaator. Loetavuse huvides kasutavad programmeerijad rühma GROUP, kui on seotud ainult üks seos, ja COGROUP, kui on seotud mitu seost.

java erinevus visete ja visete vahel

Selles näites rühmitage mõlema suhte korral väljad URL-i kaupa laadimine1 ja laadimine2.

COGROUP Tulemus:

RIST:

Operaatorit CROSS kasutatakse kahe või enama seose ristprodukti (Dekarteesia korrutis) arvutamiseks.

Risttoote rakendamine laadimisel1 ja laadimisel2.

RISTI Tulemus:

PIIR:

Operaatorit LIMIT kasutatakse väljundipaaride arvu piiramiseks. Kui määratud väljundipaaride arv on võrdne või ületab seerias olevate hulpade arvu, hõlmab väljund kõiki reljeefe.

LIMIT Tulemus:

SPLIT:

Operaatorit SPLIT kasutatakse suhte sisu jaotamiseks kaheks või enamaks suhteks, mis põhinevad mõnel avaldisel. Sõltuvalt avaldises toodud tingimustest.

Jagage koormus2 kaheks suhteks x ja y. x seos, mis on loodud laadimise2 abil, sisaldab välju, mille hinnang on suurem kui 8, ja y-seos sisaldab välju, mille hinnang on väiksem või võrdne 8.

Kas teil on meile küsimus? Palun mainige neid kommentaaride jaotises ja me võtame teiega ühendust.

Seonduvad postitused:

Apache Pigi operaatorid - diagnostikaoperaatorid

UDF-i loomise sammud Apache Pigis