Uvod v prašičje ukaze

Apache Pig je orodje / platforma, ki se uporablja za analizo velikih nizov podatkov in izvajanje dolgih nizov podatkovnih operacij. Prašič se uporablja skupaj z Hadoopom. Vsi skripti prašičev se pretvorijo v naloge za zmanjšanje zemljevidov in se nato izvajajo. Lahko obravnava strukturirane, polstrukturirane in nestrukturirane podatke. Prašičje trgovine, njegov rezultat v HDFS. V tem članku spoznamo več vrst ukazov Pig.

Tu je nekaj značilnosti prašiča:

  1. Samooptimizacija: Prašič lahko optimizira izvedbena opravila, uporabnik se lahko osredotoči na semantiko.
  2. Enostavnost programiranja: prašič ponuja jezik / narečje na visoki ravni, znan kot latinsko prašičje, ki ga je enostavno napisati. Pig Latin ponuja veliko operaterjev, ki jih programer lahko uporablja za obdelavo podatkov. Programer ima možnost, da napiše tudi svoje funkcije.
  3. Razširljivo: Pig olajša ustvarjanje funkcije po meri, ki se imenuje UDF-ove (Uporabniško definirane funkcije), zaradi česar programerji lahko hitro in enostavno dosežejo kakršno koli zahtevo po obdelavi. Svinjska skripta se izvajajo na lupini, znani kot grunt.

Zakaj ukazi prašičev?

Programerji, ki z Javo niso dobri, se običajno borijo s pisanjem programov v Hadoop, tj. S pisanjem nalog za zmanjšanje zemljevidov. Pig latinščina, ki je precej podobna jeziku SQL, je dobrobit. Njegov pristop z več poizvedbami zmanjša dolžino kode.
Torej na splošno njegov jedrnat in učinkovit način programiranja. Ukazi Pig lahko kličejo kodo v številnih jezikih, kot so JRuby, Jython in Java.

Arhitektura svinjskih ukazov

Vsi skripti, napisani v Pig-Latin preko lupine lupine, gredo v razčlenjevalnik, da preverijo skladnjo in se zgodijo tudi drugi pregledi. Izhod razčlenjevalnika je DAG. Ta DAG se nato prenese v Optimizer, ki nato opravi logično optimizacijo, kot je projekcija in potisne navzdol. Nato prevajalnik izpolni logični načrt za opravila MapReduce. Končno se ta opravila MapReduce pošljejo Hadoop v razvrščenem vrstnem redu. Ta opravila se izvedejo in dajo želene rezultate.

Prašično-latinski podatkovni model je v celoti ugnezden in omogoča zapletene vrste podatkov, kot sta zemljevid in nabor.

Vsaka posamezna vrednost latinskega jezika prašiča (ne glede na vrsto podatkov) je znana kot Atom.

Osnovni ukazi prašičev

Oglejmo si nekaj osnovnih ukazov Pig, ki so podani spodaj: -

1. Fs: To bo seznam vseh datotek v HDFS

grunt> fs –ls

2. Počisti: s tem boste počistili interaktivno lupino Grunt.

grunt> jasno

3. Zgodovina:

Ta ukaz prikazuje do sedaj izvedene ukaze.
grunt> zgodovina

4. Branje podatkov: ob predpostavki, da podatki prebivajo v HDFS, in podatke moramo prebrati Pig.

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

UPORABA PigStorage (', ')

as (id: int, ime: chararray, priimek: chararray, telefon: chararray,

mesto: chararray);

PigStorage () je funkcija, ki nalaga in shranjuje podatke kot strukturirane besedilne datoteke.

5. Shranjevanje podatkov: Operator trgovine se uporablja za shranjevanje obdelanih / naloženih podatkov.

grunt> STORE college_students INTO 'hdfs: // localhost: 9000 / pig_Output /' UPORABA PigStorage (', ');

Tu je "/ pig_Output /" imenik, v katerem je treba shraniti odnos.

6. Dump Operator: Ta ukaz se uporablja za prikaz rezultatov na zaslonu. Običajno pomaga pri odpravljanju napak.

grunt> Dump college_students;

7. Opišite operaterja: Programerju pomaga videti shemo razmerja.

grunt> opišite college_students;

8. Pojasni: Ta ukaz pomaga pregledati logične, fizične načrte in zmanjšati izvedbene načrte.

grunt> pojasni kolegijdudentje;

9. Ilustrirajte operater: To daje postopno izvajanje stavkov v Pig Commands.

grunt> ponazarjajo fakultetni študentje;

Vmesni ukazi prašičev

1. Skupina: Ta ukaz Pig deluje pri združevanju podatkov z istim ključem.

grunt> group_data = GROUP College_students po imenu;

2. COGROUP: deluje podobno kot operater skupine. Glavna razlika med operaterjem Group & Cogroup je v tem, da se operater skupine običajno uporablja z enim odnosom, medtem ko se cogroup uporablja z več relacijami.

3. Pridružite se: to se uporablja za združevanje dveh ali več odnosov.

Primer: Če želite izvesti samostojno pridružitev, recimo, da je povezava "stranka" naložena iz HDFS tp pig ukazov v dveh odnosih strank1 in kupci2.

grunt> customers3 = PRIDRUŽITE se kupcem1 BY id, customers2 BY id;

Pridružite se lahko samo-pridružite se, pridružite se notranji ali zunanji.

4. Križ: Ta ukaz prašiča izračuna navzkrižni produkt dveh ali več odnosov.

grunt> cross_data = CROSS kupci, naročila;

5. Zveza: Združuje dva odnosa. Pogoj za združitev je, da morajo biti stolpci in domene relacije enaki.

grunt> študent = UNION student1, student2;

Napredni ukazi za prašiče

Oglejmo si nekaj naprednih ukazov Pig, ki so podani spodaj:

1. Filter: To pomaga pri odstranjevanju tupolov iz razmerja na podlagi določenih pogojev.

filter_data = FILTER kolegijski študentje PO mestu == 'Chennai';

2. Ločeno: To pomaga pri odstranjevanju odvečnih tupolov iz zveze.

grunt> distct_data = DISTINCT college_students;

To filtriranje bo ustvarilo novo ime povezave "razločno_podatki"

3. Foreach: To pomaga pri ustvarjanju transformacije podatkov na podlagi podatkov stolpcev.

grunt> foreach_data = FOREACH student_details GENERATE id, starost, mesto;

Tako bodo dobljene vrednosti id, starosti in mesta vsakega študenta iz razmerja student_details in ga tako shranile v drug odnos, imenovan foreach_data.

4. Uredi po: Ta ukaz prikaže rezultat v razvrščenem vrstnem redu na podlagi enega ali več polj.

grunt> order_by_data = NAROČITE kolegijdudentje po starosti DESC;

To bo razvrstilo razmerje »kolegijdudentov« po padajočem zaporedju.

5. Omejitev: Ta ukaz je omejen št. tupolov iz relacije.

grunt> limit_data = LIMIT student_details 4;

Namigi in triki

Spodaj so različni nasveti in triki ukazov Pig: -

1. Omogočite stiskanje pri vhodu in izhodu:

nastavite input.compression.enabled true;

nastavite output.compression.enabled true;

Zgoraj omenjene vrstice kode morajo biti na začetku Skripta, tako da lahko Pig Commando berejo stisnjene datoteke ali ustvarijo stisnjene datoteke kot izhod.

2. Pridružite se več razmerjem:

Če želite izvesti tri relacije na levi strani (input1, input2, input3), se morate odločiti za SQL. To je zato, ker zunanji spoj ne podpira Pig na več kot dveh tabelah.

Namesto tega izvedite levo in se pridružite v dveh korakih, kot so:

data1 = PRIDRUŽI se vhodu1 S tipko LEVO, input2 BY tipko;

podatki2 = PRIDRUŽITE se podatkom1 BY Vhod1: tipka LEVO, vhod3 tipka PO

To pomeni dve zaposlitvi, zmanjšani na zemljevid.

Za učinkovitejše izvajanje zgornje naloge se lahko odločite za "Cogroup". Cogroup se lahko pridruži več odnosov. Cogroup se privzeto pridruži zunanji strani.

Zaključek

Prašič je procesni jezik, ki ga znanstveniki podatkov običajno uporabljajo za ad-hoc obdelavo in hitro prototipiranje. To je odlično orodje za obdelavo podatkov in velikih ETL. Svinjske skripte lahko prikličete v drugih jezikih in obratno. Tako lahko Pig ukaze uporabimo za izdelavo večjih in zapletenih aplikacij.

Priporočeni članki

To je vodnik za ukaze Pig. Tu smo razpravljali o osnovnih in naprednih ukazih Pig ter nekaj neposrednih ukazov Pig. Če želite izvedeti več, si oglejte tudi naslednji članek -

  1. Ukazi Adobe Photoshop
  2. Ukazi Tableau
  3. Natančni list SQL (ukazi, brezplačni nasveti in triki)
  4. VBA-ukazi-dokončni dotiki
  5. Različne operacije povezane s Tuplemi

Kategorija: