Uvod u svinjske naredbe

Apache Pig je alat / platforma koji se koristi za analizu velikih skupova podataka i obavljanje dugih serija podataka. Svinja se koristi s Hadoopom. Svi se skripti svinja pretvaraju u zadatke za smanjivanje karata i zatim izvršavaju. Može obrađivati ​​strukturirane, polustrukturirane i nestrukturirane podatke. Trgovine svinjama, a rezultat toga je HDFS. U ovom članku saznajemo više vrsta Svinjskih naredbi.

Evo nekoliko karakteristika svinje:

  1. Samo-optimiziranje: Svinja može optimizirati poslove izvršenja, korisnik ima slobodu usredotočiti se na semantiku.
  2. Jednostavnost programiranja: Svinja nudi jezik / dijalekt na visokoj razini poznat kao latinski svinja, koji se lako piše. Svinjski latinica pruža mnogim operaterima koje programer može koristiti za obradu podataka. Programer ima mogućnost pisanja i vlastitih funkcija.
  3. Proširivo: Svinja olakšava stvaranje prilagođene funkcije koja se naziva UDF-ove (Korisnički definirane funkcije), što programerima omogućuje brzo i jednostavno postizanje bilo kojeg zahtjeva za obradu. Skripta svinja radi na ljusci poznatoj kao grunt.

Zašto svinjske naredbe?

Programeri koji nisu dobri s Javom obično se bore s pisanjem programa na Hadoopu, tj. Pisanjem zadataka za smanjenje karte. Za njih je svinjski jezik, koji je vrlo sličan SQL jeziku, blagodat. Njegov višestruki upit smanjuje duljinu koda.
Dakle sveukupno njegov koncizan i učinkovit način programiranja. Naredbe svinja mogu pozivati ​​kôd na mnogim jezicima poput JRuby, Jython i Java.

Arhitektura svinjskih naredbi

Sve skripte napisane na Pig-Latin preko grunt shell-a idu na parser za provjeru sintakse i događaju se i drugi razni provjeri. Izlaz partera je DAG. Taj se DAG tada prosljeđuje Optimizer-u koji tada provodi logičku optimizaciju kao što je projiciranje i guranje prema dolje. Tada prevodilac udovoljava logičnom planu poslova MapReduce. Konačno, ovi se zadaci MapReduce predaju Hadoopu po razvrstanom poretku. Ti se poslovi izvršavaju i daju željene rezultate.

Svinjsko-latinski model podataka u potpunosti je ugniježđen i omogućuje složene tipove podataka poput mape i složivanja.

Svaka pojedinačna vrijednost latinskog jezika svinje (bez obzira na vrstu podataka) poznata je kao Atom.

Osnovne naredbe svinja

Pogledajmo neke od osnovnih Pig naredbi koje su date u nastavku: -

1. Fs: Ovdje će biti prikazana sva datoteka u HDFS-u

grunt> fs –ls

2. Jasno: Ovo će očistiti interaktivnu Grunt-ovu ljusku.

grunt> jasno

3. Povijest:

Ova naredba prikazuje dosad izvršene naredbe.
grunt> povijest

4. Čitanje podataka: Pretpostavimo da se podaci nalaze u HDFS-u i da trebamo očitati podatke Svinji.

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

UPOTREBA PigStorage (', ')

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

grad: chararray);

PigStorage () je funkcija koja učitava i pohranjuje podatke kao strukturirane tekstualne datoteke.

5. Pohranjivanje podataka: Operator trgovine koristi se za pohranu obrađenih / učitanih podataka.

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

Ovdje je "/ pig_Output /" direktorij u koji odnos treba pohraniti.

6. Dump Operator: Ova naredba koristi se za prikaz rezultata na zaslonu. Obično pomaže u uklanjanju pogrešaka.

grunt> Dump college_students;

7. Opišite operatora: To pomaže programeru da pogleda shemu odnosa.

grunt> opisati College_students;

8. Objasnite: Ova naredba pomaže pregledati logičke, fizičke i smanjiti izvedbene planove.

grunt> objasniti College_students;

9. Ilustriraj operatera: Ovo daje postupno izvršavanje izjava u Pig naredbama.

grunt> ilustrirati College_students;

Posredničke naredbe svinja

1. Grupa: Ova naredba Pig radi u grupiranju podataka istim ključem.

grunt> group_data = GRUPA fakultetskih studenata sa imenom;

2. COGROUP: Djeluje slično kao operater grupe. Glavna razlika između operatora Grupe i Cogroupa je ta što se operator grupe obično koristi s jednim odnosom, dok se kogrupa koristi s više odnosa.

3. Pridružite se: koristi se za kombiniranje dvaju ili više odnosa.

Primjer: Da bismo izvršili samo-pridruživanje, recimo odnos "kupac" učitava se iz HDFS tp pig naredbi u dva odnosa kupci1 i kupci2.

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

Pridruživanje može biti samo-pridruživanje, pridruživanje, unutarnji, vanjski.

4. Križ: Ova naredba svinja izračunava umreženi proizvod dvaju ili više odnosa.

grunt> cross_data = CROSS kupci, narudžbe;

5. Unija: Spaja dva odnosa. Uvjet za spajanje je da i stupci i domene odnosa moraju biti identični.

grunt> student = UNION student1, student2;

Napredne naredbe svinja

Pogledajmo neke od naprednih Pig naredbi koje su date u nastavku:

1. Filter: Ovo pomaže u filtriranju tupolja iz veze, na temelju određenih uvjeta.

filter_data = FILTER College_students BY city == 'Chennai';

2. Razlikuje: ovo pomaže u uklanjanju suvišnih tupolja iz veze.

grunt> distct_data = DISTINCT college_students;

Ovo filtriranje stvorit će novi naziv naziva "razloženi_dodaci"

3. Predraditi: ovo pomaže u generiranju transformacije podataka na temelju podataka stupaca.

grunt> foreach_data = FOREACH student_details GENERATE id, dob, grad;

Time će se dobiti vrijednost id, dobi i grada svakog učenika iz relacije student_details i stoga će ga spremiti u drugi odnos nazvan foreach_data.

4. Redoslijed prema: Ova naredba prikazuje rezultat u poredanom redoslijedu na temelju jednog ili više polja.

grunt> order_by_data = NARUČITE fakultetski fakultet po dobi DESC;

Ovo će poredati odnos "fakultetskih studenata" u silaznom redoslijedu prema dobi.

5. Ograničenje: Ova naredba ima ograničen br. tupolja iz veze.

grunt> limit_data = LIMIT student_details 4;

Savjeti i trikovi

Ispod su sljedeći savjeti i trikovi Pig naredbi: -

1. Omogućite kompresiju na vašem ulazu i izlazu:

postaviti input.compression.enabled true;

set output.compression.enabled true;

Gore navedeni redovi koda moraju biti na početku Skripta, tako da će Pig naredbe moći čitati komprimirane datoteke ili generirati komprimirane datoteke kao izlaz.

2. Pridružite se više odnosa:

Za izvođenje lijevog spajanja recimo tri odnosa (input1, input2, input3) treba se odlučiti za SQL. To je zato što vanjsko pridruživanje Pig nije podržano na više od dva stola.

Radije izvedite lijevo i pridružite se u dva koraka poput:

data1 = PRIDRUŽITE se ulazu 1 tipkom LIJEVO, tipkom input2 BY ;

data2 = PRIDRUŽITE se podatcima1 BY input1 :: tipka LIJEVO, tipka input3 BY ;

To znači dva posla koja smanjuju kartu.

Da biste izvršili gornji zadatak učinkovitije, možete se odlučiti za "Cogroup". Cogroup se može pridružiti višestrukim odnosima. Cogroup se prema zadanom pridružuje vanjskom.

Zaključak

Svinja je proceduralni jezik, što je znanstvenici podataka obično koriste za ad-hoc obradu i brzo prototipiranje. Izvrstan je alat za obradu podataka ETL-a i velikih podataka. Skripte svinja mogu se pozivati ​​na druge jezike i obrnuto. Zbog toga se Pig naredbe mogu koristiti za izgradnju većih i složenijih aplikacija.

Preporučeni članci

Ovo je vodič za svinjske naredbe. Ovdje smo razgovarali o osnovnim, kao i naprednim Pig naredbama i nekim neposrednim Pig naredbama. Možete pogledati i sljedeći članak da biste saznali više -

  1. Naredbe Adobe Photoshop
  2. Tableau naredbe
  3. SQL šifre (naredbe, besplatni savjeti i trikovi)
  4. VBA naredbe-završni dodiri
  5. Različite operacije povezane s Tupovima

Kategorija: