Úvod do prasečích příkazů

Apache Pig nástroj / platforma, která se používá k analýze velkých datových sad a provádění dlouhé série datových operací. Prase se používá s Hadoopem. Všechny prasečí skripty jsou interně převedeny na úkoly snižování map a poté jsou spuštěny. Dokáže zpracovávat strukturovaná, polostrukturovaná a nestrukturovaná data. Obchody s prasaty, jejich výsledek do HDFS. V tomto článku se naučíme více typů příkazů prasete.

Zde jsou některé vlastnosti prasete:

  1. Vlastní optimalizace: Prase může optimalizovat prováděcí úlohy, uživatel má svobodu soustředit se na sémantiku.
  2. Snadné programování: Prase poskytuje vysoce kvalitní jazyk / dialekt známý jako prasečí latina, který se snadno zapisuje. Pig Latin poskytuje mnoho operátorů, které programátor může použít ke zpracování dat. Programátor má možnost psát také své vlastní funkce.
  3. Rozšiřitelný: Prase usnadňuje vytváření uživatelských funkcí, které se nazývají UDF (uživatelem definované funkce), díky kterým jsou programátoři schopni rychle a snadno splnit všechny požadavky na zpracování. Prasečí skript běží na shellu známém jako grunt.

Proč prase příkazy?

Programátoři, kteří s Java nejsou dobří, se obvykle snaží psát programy v Hadoopu, tj. Psát úkoly snižující mapy. Pro ně je prase latina, která je docela jako jazyk SQL, výhoda. Jeho přístup s více dotazy snižuje délku kódu.
Takže celkově jeho stručný a efektivní způsob programování. Příkazy Pig mohou vyvolat kód v mnoha jazycích, jako jsou JRuby, Jython a Java.

Architektura prase příkazy

Všechny skripty psané v prasečí latině přes grunt shell jdou do syntaktického analyzátoru, aby zkontrolovaly syntaxi, a také se děje další různé kontroly. Výstupem analyzátoru je DAG. Tento DAG je poté předán Optimalizátoru, který pak provede logickou optimalizaci, jako je projekce a tlačí dolů. Potom kompilátor splňuje logický plán pro úlohy MapReduce. Nakonec jsou tyto úlohy MapReduce odeslány do Hadoopu v seřazeném pořadí. Tyto úlohy jsou prováděny a přinášejí požadované výsledky.

Datový model prasečí latiny je plně vnořený a umožňuje komplexní typy dat, jako je mapa a n-tice.

Jakákoli jednotlivá hodnota prasečího latinského jazyka (bez ohledu na datový typ) je znám jako Atom.

Základní příkazy pro prasata

Pojďme se podívat na některé základní příkazy Pig, které jsou uvedeny níže: -

1. Fs: Zobrazí se seznam všech souborů v HDFS

grunt> fs –ls

2. Vymazat: Tímto se vymaže interaktivní grunt shell.

grunt> jasný

3. Historie:

Tento příkaz zobrazuje dosud provedené příkazy.
grunt> historie

4. Čtení dat: Předpokládejme, že data jsou uložena v HDFS, a my musíme číst data do Pig.

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

POUŽÍVÁNÍ PigStorage (', ')

jako (id: int, křestní jméno: chararray, příjmení: chararray, phone: chararray,

město: chararray);

PigStorage () je funkce, která načítá a ukládá data jako strukturované textové soubory.

5. Ukládání dat: Operátor Store se používá k ukládání zpracovaných / načtených dat.

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

Zde je „/ pig_Output /“ adresář, do kterého je třeba vztah uložit.

6. Operátor výpisu: Tento příkaz se používá k zobrazení výsledků na obrazovce. Obvykle to pomáhá při ladění.

grunt> Dump college_students;

7. Popište operátora: Pomáhá programátorovi zobrazit schéma relace.

grunt> popsat college_students;

8. Vysvětlete: Tento příkaz pomáhá kontrolovat logické, fyzické a plány provádění map.

grunt> vysvětlit college_students;

9. Ilustrovat operátora: Toto poskytuje postupné provádění příkazů v příkazech Pig.

grunt> ilustrovat college_students;

Dočasné příkazy pro prasata

1. Skupina: Tento příkaz Pig pracuje na seskupení dat se stejným klíčem.

grunt> group_data = GROUP college_students podle křestního jména;

2. KOGROUP: Funguje podobně jako operátor skupiny. Hlavní rozdíl mezi operátorem Group & Cogroup je ten, že operátor skupiny se obvykle používá s jedním vztahem, zatímco skupina cogroup se používá s více než jedním vztahem.

3. Připojit: Používá se ke spojení dvou nebo více vztahů.

Příklad: Chcete-li provést vlastní připojení, řekněme, že relace „zákazník“ je načtena z příkazů HDFS tp pig ve dvou vztazích customers1 a customers2.

grunt> customers3 = PŘIPOJTE se k zákazníkům1 BY id, customers2 BY id;

Připojit se může být self-join, Inner-join, Outer-join.

4. Cross: Tento příkaz prase počítá křížový produkt dvou nebo více vztahů.

grunt> cross_data = CROSS zákazníci, objednávky;

5. Unie: Sloučí dva vztahy. Podmínkou sloučení je, že sloupce i domény relace musí být identické.

grunt> student = student UNION1, student2;

Pokročilé příkazy pro prasata

Pojďme se podívat na některé pokročilé příkazy prasete, které jsou uvedeny níže:

1. Filtr: Pomáhá při odfiltrování n-tic ze vztahu na základě určitých podmínek.

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

2. Výraz: To pomáhá při odstraňování nadbytečných n-tic ze vztahu.

grunt> odlišné_data = DISTINCT college_students;

Toto filtrování vytvoří nový název relace „odlišná_data“

3. Foreach: To pomáhá při generování transformace dat na základě dat sloupců.

grunt> foreach_data = FOREACH student_details GENERATE id, age, city;

Toto získá hodnoty id, věk a město každého studenta ze vztahu student_details, a proto jej uloží do jiného vztahu s názvem foreach_data.

4. Pořadí podle: Tento příkaz zobrazí výsledek v seřazeném pořadí na základě jednoho nebo více polí.

grunt> order_by_data = OBJEDNÁVKA college_students BY Age DESC;

Tím se bude vztah „college_students“ třídit sestupně podle věku.

5. Limit: Tento příkaz dostane omezené ne. n-tic ze vztahu.

grunt> limit_data = LIMIT student_details 4;

Tipy a triky

Níže jsou uvedeny různé tipy a triky příkazů Pig: -

1. Povolte kompresi na vstupu a výstupu:

set input.compression.enabled true;

set output.compression.enabled true;

Výše uvedené řádky kódu musí být na začátku skriptu, takže Pig Commands umožní číst komprimované soubory nebo generovat komprimované soubory jako výstup.

2. Připojte se k více vztahům:

Pro provedení levého spojení řekněme tři vztahy (vstup1, vstup2, vstup3), je třeba zvolit SQL. Je to proto, že Pig na více než dvou stolech nepodporuje vnější spojení.

Spíše provedete doleva, abyste se připojili ve dvou krocích, jako například:

data1 = JOIN vstup1 klávesa LEFT, vstup2 BY klávesa;

data2 = JOIN data1 BY input1 :: key LEFT, input3 BY key;

To znamená dvě úlohy pro zmenšení mapy.

Pro efektivnější provedení výše uvedeného úkolu je možné zvolit „Cogroup“. Cogroup se může připojit k více vztahům. Cogroup se ve výchozím nastavení připojuje vnější.

Závěr

Prase je procedurální jazyk, který vědci obvykle používají k provádění ad hoc zpracování a rychlého prototypování. Je to skvělý ETL a velký nástroj pro zpracování dat. Prasečí skripty mohou být vyvolány jinými jazyky a naopak. Proto mohou být příkazy prasete použity k vytváření větších a složitějších aplikací.

Doporučené články

Toto byl průvodce příkazy Pig. Zde jsme probrali základní i pokročilé příkazy Pig a některé okamžité příkazy Pig. Další informace naleznete také v následujícím článku -

  1. Příkazy Adobe Photoshop
  2. Tableau Příkazy
  3. Cheat sheet SQL (příkazy, tipy zdarma a triky)
  4. Příkazy VBA pro dokončení doteků
  5. Různé operace související s n-ticemi

Kategorie: