Johdatus siankäskyihin

Apache Pig - työkalu / alusta, jota käytetään suurten tietojoukkojen analysointiin ja pitkien tietosarjojen suorittamiseen. Sikaa käytetään Hadoopin kanssa. Kaikki sisäisen sian komentosarjat muunnetaan kartan pienentämistehtäviksi ja suoritetaan sitten. Se pystyy käsittelemään jäsenneltyä, osittain jäsentämätöntä ja jäsentämätöntä tietoa. Sika myy, sen tulos HDFS: ksi. Tässä artikkelissa opitaan lisää sikakomentojen tyyppejä.

Tässä on joitain sian ominaisuuksia:

  1. Itseoptimointi: Sika voi optimoida suoritustyöt, käyttäjällä on vapaus keskittyä semantiikkaan.
  2. Helppo ohjelmoida: Sika tarjoaa korkeatasoista kieltä / murretta, joka tunnetaan nimellä Pig Latin, joka on helppo kirjoittaa. Pig Latin tarjoaa monia operaattoreita, joita ohjelmoija voi käyttää tietojen käsittelemiseen. Ohjelmoijalla on joustavuus kirjoittaa myös omat toiminnot.
  3. Laajennettavissa: Sika helpottaa UDF: ksi kutsuttujen mukautettujen toimintojen luomista (käyttäjän määrittämät toiminnot), jotka tekevät ohjelmoijista kykeneviä suorittamaan kaikki käsittelyvaatimukset nopeasti ja helposti. Sian käsikirjoitus kulkee kuorena, jota kutsutaan gruntiksi.

Miksi sikakomennot?

Ohjelmoijat, joilla ei ole Java-kokemusta, yleensä kamppailevat Hadoop-ohjelmien kirjoittamisessa, toisin sanoen karttaa pienentävien tehtävien kirjoittamisessa. Heille siuna Latin, joka on aivan kuten SQL-kieli, on siunaus. Sen monikyselylähestymistapa vähentää koodin pituutta.
Joten kaiken kaikkiaan sen tiivis ja tehokas tapa ohjelmoida. Sikakomennot voivat kutsua koodia monilla kielillä, kuten JRuby, Jython ja Java.

Sikakomentojen arkkitehtuuri

Kaikki skriptit, jotka on kirjoitettu sika-latinalaisella grunt-kuorella, menevät jäsentäjälle syntaksin tarkistamiseen, ja myös muita sekalaisia ​​tarkastuksia tapahtuu. Jäsentäjän lähtö on DAG. Tämä DAG siirretään sitten Optimizerille, joka sitten suorittaa loogisen optimoinnin, kuten projektio, ja työntää alas. Sitten kääntäjä noudattaa loogista suunnitelmaa MapReduce-töille. Viimeinkin nämä MapReduce-työt toimitetaan Hadoopille lajitelmassa. Nämä työt suoritetaan ja tuottavat toivottuja tuloksia.

Sian ja latinan välinen datamalli on kokonaan sisäkkäinen, ja se sallii monimutkaisia ​​tietotyyppejä, kuten kartta ja tuple.

Sianlatin kielen mikä tahansa yksittäinen arvo (tietotyypistä riippumatta) tunnetaan nimellä Atom.

Perussikakomennot

Katsotaanpa joitain alla olevista Pig Pig -komennoista: -

1. Fs: Tässä luetellaan kaikki tiedostot HDFS: ssä

virnistä> fs –ls

2. Tyhjennä: Tämä tyhjentää interaktiivisen Grunt-kuoren.

virnistellä> tyhjentää

3. Historia:

Tämä komento näyttää tähän mennessä suoritetut komennot.
virnistellä> historiaa

4. Tietojen lukeminen: Olettaen, että tiedot sijaitsevat HDFS: ssä, ja meidän on luettava tiedot Pigille.

grunt> korkeakouluopiskelijat = LOAD 'hdfs: // localhost: 9000 / pig_data / college_data.txt'

PigStoragen (', ') KÄYTTÖ

as (id: int, etunimi: chararray, sukunimi: chararray, puhelin: chararray,

kaupunki: chararray);

PigStorage () on toiminto, joka lataa ja tallentaa tietoja jäsenneltyinä tekstitiedostoina.

5. Tietojen tallentaminen: Store-operaattori on tottunut tallentamaan käsitellyt / ladatut tiedot.

grunt> TALLENNA korkeakouluopiskelijoita 'hdfs: // localhost: 9000 / pig_Output /' PigStorage (', ') KÄYTTÖ;

Tässä ”/ pig_Output /” on hakemisto, johon suhde on tallennettava.

6. Operaattori: Tämä komento on tarkoitettu tulosten näyttämiseen näytöllä. Se auttaa yleensä virheenkorjauksessa.

grunt> Dump korkeakouluopiskelijat;

7. Kuvaile operaattoria: Se auttaa ohjelmoijaa tarkastelemaan suhteen kaavaa.

grunt> kuvaile korkeakouluopiskelijoita;

8. Selitä: Tämä komento auttaa tarkistamaan loogisen, fyysisen ja karttaa vähentävän suoritussuunnitelman.

kurja> selittää korkeakouluopiskelijat;

9. Esimerkki operaattorista: Tämä antaa lausekkeiden askel askeleelta toteutuksen Pig-komennoissa.

pahoillani> kuvaa korkeakouluopiskelijoita;

Väliset sikakomennot

1. Ryhmä: Tämä Pig-komento pyrkii ryhmittämään tiedot samalla avaimella.

grunt> ryhmätiedot = GROUP opiskelijat etunimen mukaan;

2. RYHMÄ: Se toimii samalla tavalla kuin ryhmäoperaattori. Suurin ero ryhmä- ja ryhmäoperaattorien välillä on se, että ryhmäoperaattoria käytetään yleensä yhdellä relaatiolla, kun taas ryhmäryhmää käytetään useammalla kuin yhdellä relaatiolla.

3. Liity: Tätä käytetään kahden tai useamman suhteen yhdistämiseen.

Esimerkki: Jos haluat suorittaa itse liittymisen, sanotaan, että suhde “asiakas” ladataan HDFS tp-sikomennoista kahdessa suhteessa asiakas1 ja asiakas2.

grunt> asiakkaat3 = LIITÄ asiakkaat1 tunnuksella, asiakkaat2 tunnuksella;

Liittyminen voisi olla itse liittyminen, sisäinen liittyminen, ulkoinen liittyminen.

4. Risti: Tämä sika-komento laskee kahden tai useamman suhteen ristiintuloksen.

grunt> cross_data = CROSS-asiakkaat, tilaukset;

5. Unioni: Se yhdistää kaksi suhdetta. Yhdistämisen ehto on, että sekä suhteen sarakkeiden että verkkotunnusten on oltava identtisiä.

grunt> opiskelija = UNION student1, student2;

Edistyneet sikakomennot

Katsotaanpa joitain edistyneemmistä Pig-komennoista, jotka on annettu alla:

1. Suodatin: Tämä auttaa suodattamaan tuples epäsuhteesta tietyissä olosuhteissa.

suodatintiedot = Suodatin yliopisto-opiskelijat kaupungin mukaan == 'Chennai';

2. Erottuva: Tämä auttaa poistamaan tarpeettomia tupleja suhteesta.

grunt> erilliset tiedot = DISTINCT korkeakouluopiskelijat;

Suodatus luo uuden suhteen nimen ”erillinen_tiedot”

3. Foreach: Tämä auttaa generoimaan datan muuntamista sarakedatan perusteella.

grunt> foreach_data = FOREACH student_details GENERATE id, ikä, kaupunki;

Tämä saa kunkin opiskelijan tunnuksen, iän ja kaupungin arvot relaatiosta student_tiedot ja tallentaa siten toiseen suhteeseen nimeltä foreach_data.

4. Järjestä: Tämä komento näyttää tuloksen lajitellussa järjestyksessä yhden tai useamman kentän perusteella.

grunt> order_by_data = ORDER opiskelijoiden / opiskelijoiden ikä DESC;

Tämä lajittelee suhteen ”korkeakouluopiskelijat” alenevassa järjestyksessä iän mukaan.

5. Raja: Tämä komento on rajoitettu ei. tuples suhteesta.

grunt> raja_tiedot = LIMIT opiskelijan tiedot 4;

Vinkkejä ja temppuja

Alla on erilaisia ​​Pig-komentojen vinkkejä ja vinkkejä: -

1. Ota pakkaus käyttöön tulo ja lähtö:

set input.compression.enabled true;

aseta output.compression.enabled true;

Edellä mainittujen koodirivien on oltava komentosarjan alussa, jotta Pig-komennot voivat lukea pakattuja tiedostoja tai tuottaa pakattuja tiedostoja tulosteena.

2. Liity moniin suhteisiin:

Vasemman liittymisen suorittamiseksi sanomalla kolme suhdetta (input1, input2, input3) täytyy valita SQL. Se johtuu siitä, että Pig ei tue ulkoista liittymistä useammalla kuin kahdella pöydällä.

Sen sijaan suoritat vasemmalle liittyäksesi kahteen vaiheeseen, kuten:

data1 = LIITÄ sisääntulo1 näppäimellä VASEMMALLA, sisääntulon2 näppäimellä;

data2 = LIITÄ data1 syötteellä1: näppäin VASEN, tulo3 näppäimellä;

Tämä tarkoittaa kahta karttaa pienentävää työtä.

Edellä mainitun tehtävän suorittamiseksi tehokkaammin voidaan valita ”Cogroup”. Cogroup voi liittyä useisiin suhteisiin. Ryhmäryhmä oletuksena ulkoinen liittyminen.

johtopäätös

Sika on menettelykieli, jota tietoteknikot yleensä käyttävät ad-hoc-käsittelyyn ja nopeaan prototyyppien tekemiseen. Se on hieno ETL ja iso tietojenkäsittelytyökalu. Muut kielet voivat vedota sian komentosarjoihin ja päinvastoin. Siksi Pig-komentoja voidaan käyttää rakentamaan suurempia ja monimutkaisempia sovelluksia.

Suositellut artikkelit

Tämä on opas Pig-komennoille. Täällä olemme keskustelleet sekä perus- että edistyneistä Pig-komennoista ja joistain välittömistä Pig-komennoista. Voit myös tarkastella seuraavaa artikkelia saadaksesi lisätietoja -

  1. Adobe Photoshop -komennot
  2. Tableau-komennot
  3. Huijauskortti SQL (komennot, ilmaiset vinkit ja temput)
  4. VBA-komennot - viimeistely
  5. Eri Tuplesiin liittyvät operaatiot

Luokka: