Operaattorit Apache Pigissa: Osa 1 - Relaatiooperaattorit

Tämä viesti kuvaa Apache Pig -operaattoreista. Katso tämä viesti Apache Pig -käyttäjille: Osa 1 - Relaatio-operaattorit.

Tämä viesti koskee Apache Pig -operaattoreita.Apache Pigin avulla voit myös kirjoittaa monimutkaisia ​​datamuutoksia ilman Java-tietämystä, mikä tekee siitä todella tärkeän .Katsotaanpa nopeasti, mitä sika ja sika Latin ovat ja mitä toimintatapoja niillä voidaan käyttää, ennen kuin jatkat operaattoreille.

Mikä on Apache Pig?

Apache Pig on korkean tason menettelykieli suurten tietojoukkojen kyselyyn Hadoopia ja Map Reduce Platformia käyttämällä. Se on Java-paketti, jossa komentosarjat voidaan suorittaa mistä tahansa JVM: ssä toimivasta kielitoteutuksesta. Tätä käytetään suuresti iteratiivisissa prosesseissa.

Apache Pig yksinkertaistaa Hadoopin käyttöä sallimalla SQL-tyyppiset kyselyt hajautettuun tietojoukkoon ja mahdollistaa monimutkaisten tehtävien luomisen suurten tietomäärien nopeaan ja tehokkaaseen käsittelyyn. Pigin paras ominaisuus on, että se tukee monia relaatio-ominaisuuksia, kuten Join, Group ja Aggregate.

Tiedän, että Sika kuulostaa paljon enemmän kuin ETL-työkalu, ja sillä on monia ominaisuuksia, jotka ovat yhteisiä ETL-työkaluihin. Mutta Pigin etu ETL-työkaluihin verrattuna on, että se voi toimia monilla palvelimilla samanaikaisesti.

Mikä on Apache Pig Latin?

Apache Pig luo yksinkertaisemman menettelykielen abstraktin Map Reduce -sovelluksen kautta paljastamaan strukturoidumman kyselykielen (SQL) kaltaisen käyttöliittymän Hadoop-sovelluksille, nimeltään Apache Pig Latin, joten erillisen Map Reduce -sovelluksen kirjoittamisen sijaan voit kirjoittaa yhden komentosarjan Apache-tiedostoon. Pig Latin, joka rinnakkaistetaan ja jaetaan automaattisesti klusterin yli. Yksinkertaisin sanoin, Pig Latin, on sarja yksinkertaisia ​​lauseita, jotka ottavat panoksen ja tuottavat tuotoksen. Tulo- ja lähtötiedot koostuvat pussista, kartoista, tuplista ja skalaarista.

Apache Pig -suoritustilat:

Apache Pigilla on kaksi suoritustilaa:

  • Paikallinen tila

”Paikallisessa tilassa” lähdetiedot valitaan tietokonejärjestelmän paikallisesta hakemistosta. MapReduce-tila voidaan määrittää käyttämällä ”pig –x local” -komentoa.

Operaattorit kohteessa Apache Pig - 1

miten käyttää anaconda python
  • MapReduce-tila:

Possun suorittamiseksi MapReduce-tilassa tarvitset pääsyn Hadoop-klusteriin ja HDFS-asennukseen. MapReduce-tila voidaan määrittää sika-komennolla.

Apache-sikaoperaattorit:

Apache Pig Operators on korkean tason menettelykieli suurten tietojoukkojen kyselyyn Hadoopin ja Map Reduce -alustan avulla. Pig Latin -lauseke on operaattori, joka ottaa relaation syötteeksi ja tuottaa toisen relaation tuotokseksi. Nämä operaattorit ovat tärkeimmät työkalut, joita Pig Latin tarjoaa tietojen käsittelyyn. Niiden avulla voit muuttaa sen lajittelemalla, ryhmittelemällä, yhdistämällä, projisoimalla ja suodattamalla.

Luodaan kaksi tiedostoa komentojen suorittamiseksi:

Meillä on kaksi tiedostoa, joiden nimi on 'ensimmäinen' ja 'toinen'. Ensimmäinen tiedosto sisältää kolme kenttää: user, url & id.

Toinen tiedosto sisältää kaksi kenttää: URL ja luokitus. Nämä kaksi tiedostoa ovat CSV-tiedostoja.

Apache Pig -operaattorit voidaan luokitella seuraavasti: Suhteellinen ja diagnostinen.

Suhteelliset operaattorit:

Suhteelliset operaattorit ovat tärkein työkalu, jonka Pig Latin tarjoaa tietojen käsittelyyn. Sen avulla voit muuttaa tietoja lajittelemalla, ryhmittelemällä, yhdistämällä, projisoimalla ja suodattamalla. Tämä osa kattaa relaation perusoperaattorit.

LADATA:

LOAD-operaattoria käytetään lataamaan tietoja tiedostojärjestelmästä tai HDFS-tallennustilasta Pig-relaatioon.

Tässä esimerkissä Lataa-operaattori lataa tiedot tiedostosta ”ensin” muodosuhteeseen ”loading1”. Kenttien nimet ovat user, url, id.

JOKAISELLE:

Tämä operaattori luo tiedonmuunnoksia tietosarakkeiden perusteella. Sitä käytetään kenttien lisäämiseen tai poistamiseen relaatiosta. Käytä FOREACH-GENERATE-toimintoa työskennellessäsi tietosarakkeiden kanssa.

FOREACH-tulos:

SUODATTAA:

Tämä operaattori valitsee joukot suhteesta ehdon perusteella.

Tässä esimerkissä suodatamme tietueen kohdasta 'loading1', kun ehto 'id' on suurempi kuin 8.

SUODATIN Tulos:

LIITTYÄ SEURAAN:

JOIN-operaattoria käytetään kahden tai useamman relaation sisäisen, equijoin-liitoksen suorittamiseen yhteisen kentän arvojen perusteella. JOIN-operaattori suorittaa aina sisäisen liitoksen. Sisäiset liitokset jättävät tyhjäksi avaimet, joten on järkevää suodattaa ne pois ennen liittymistä.

Tässä esimerkissä liittää kaksi relaatiota sarakkeeseen ”URL” alkaen ”loading1” ja ”loading2”.

Liity tulos:

TILAA:

Order By -toimintoa käytetään relaation lajittelemiseen yhden tai useamman kentän perusteella. Voit tehdä lajittelun nousevassa tai laskevassa järjestyksessä käyttämällä ASC- ja DESC-avainsanoja.

Alla olevassa esimerkissä lajittelemme tietoja latauksessa2 nousevassa järjestyksessä luokituskentässä.

Tilauksen tulos :

ERITTELE:

Distinct poistaa kaksoiskappaleet relaatiosta. Otetaan syötetiedosto kuten alla, jolla on amr, paska, 8 ja amr, myblog, 10 kahdesti tiedostossa. Kun sovellamme erillistä tämän tiedoston tietoihin, päällekkäiset merkinnät poistetaan.

Eristää tulos:

KAUPPA:

Tallennusta käytetään tulosten tallentamiseen tiedostojärjestelmään.

Täällä säästämme lastaus 3 tiedot tiedostoon nimeltä varastointi on HDFS.

Kaupan tulos:

RYHMÄ:

GROUP-operaattori ryhmittelee joukot samalla ryhmäavaimella (avainkenttä). Avainkenttä on kaksinkertainen, jos ryhmäavaimessa on useampi kuin yksi kenttä, muuten se on samantyyppinen kuin ryhmäavaimen tyyppi. GROUP-operaation tulos on suhde, joka sisältää yhden dupletin ryhmää kohden.

Tässä esimerkissä ryhmä th

e -suhde ‘loading1’ sarakkeen URL-osoitteen mukaan.

RYHMÄ Tulos:

RYHMÄ:

COGROUP on sama kuin GROUP-operaattori. Luettavuuden vuoksi ohjelmoijat käyttävät yleensä GROUP-ryhmää, kun vain yksi suhde on mukana, ja COGROUP, kun useita relaatioita on mukana.

Tässä esimerkkiryhmässä ryhmät ”loading1” ja ”loading2” URL-osoitteen mukaan molemmissa suhteissa.

RYHMÄ Tulos:

YLITTÄÄ:

CROSS-operaattoria käytetään laskemaan kahden tai useamman suhteen ristitulo (suorakulmioinen tuote).

Ristituotteen soveltaminen lataamiseen1 ja lataamiseen2.

RISTIN TULOS:

RAJA:

LIMIT-operaattoria käytetään rajoittamaan lähtöjoukkojen määrää. Jos määritetty lähtöpalettien lukumäärä on yhtä suuri tai suurempi kuin suhteiden joukko, lähtö sisältää kaikki suhteet.

RAJA Tulos:

JAKAA:

SPLIT-operaattoria käytetään jakamaan relaation sisältö kahteen tai useampaan relaatioon, jotka perustuvat johonkin lausekkeeseen. Lausekkeessa mainituista olosuhteista riippuen.

Jaa load2 kahteen suhteeseen x ja y. x2-latauksen luomassa suhteessa on kentät, joiden luokitus on suurempi kuin 8, ja y-suhteessa kentät, joiden luokitus on pienempi tai yhtä suuri kuin 8.

mikä on big data ja hadoop

Onko sinulla kysymys meille? Mainitse ne kommenttiosassa ja palaamme sinuun.

Aiheeseen liittyvät julkaisut:

Apache Pig -operaattorit - diagnoosioperaattorit

Vaiheet UDF: n luomiseen Apache Pig -sovelluksessa