Operátory v Apache Pig: Časť 1 - Relačné operátory



Tento príspevok popisuje operátorov v Apache Pig. Zoznámte sa s týmto príspevkom pre operátorov v Apache Pig: 1. časť - relačné operátory.

Tento príspevok je o operátoroch v Apache Pig.Apache Pig vám tiež umožňuje písať zložité transformácie údajov bez znalosti jazyka Java, čo je pre Windows skutočne dôležité .Poďme sa rýchlo pozrieť na to, čo je Pig and Pig Latin a na rôzne režimy, v ktorých je možné s nimi pracovať, skôr ako sa presunieme k operátorom.

Čo je to Apache Pig?

Apache Pig je procesný jazyk na vysokej úrovni pre dopytovanie veľkých súborov údajov pomocou nástrojov Hadoop a Platforma Reduce Platform. Jedná sa o balík Java, kde je možné skripty spúšťať z ľubovoľnej jazykovej implementácie bežiacej na JVM. Toto sa veľmi využíva v iteračných procesoch.





Apache Pig zjednodušuje použitie Hadoopu tým, že umožňuje dotazy podobné SQL na distribuovanú množinu údajov a umožňuje vytvárať zložité úlohy na rýchle a efektívne spracovanie veľkého množstva údajov. Najlepšou vlastnosťou programu Pig je, že podporuje mnoho relačných funkcií, ako sú napríklad Pripojiť sa, Zoskupiť a Agregovať.

Viem, že Pig znie oveľa viac ako nástroj ETL a má veľa funkcií spoločných s nástrojmi ETL. Výhodou programu Pig oproti nástrojom ETL je ale to, že môže bežať na mnohých serveroch súčasne.



Čo je to Apache Pig Latin?

Apache Pig vytvorí jednoduchšiu procedurálnu jazykovú abstrakciu nad Map Reduce, aby odhalil viac podobné rozhranie štruktúrovaného dotazovacieho jazyka (SQL) pre aplikácie Hadoop s názvom Apache Pig Latin, takže namiesto písania samostatnej aplikácie Map Reduce môžete v Apache napísať jeden skript Pig Latin, ktorý je automaticky paralelizovaný a distribuovaný v klastri. Jednoducho povedané, latinská ošípaná je sled jednoduchých príkazov, ktoré prijímajú vstup a vytvárajú výstup. Vstupné a výstupné údaje sú tvorené taškami, mapami, n-ticami a skalármi.

Režimy vykonávania prasiat Apache:

Apache Pig má dva režimy spustenia:

  • Miestny režim

V „lokálnom režime“ sa zdrojové údaje vyberajú z lokálneho adresára vo vašom počítačovom systéme. Režim MapReduce je možné určiť pomocou príkazu „pig –x local“.



Operátori v Apache Pig - 1

  • Režim MapReduce:

Ak chcete spustiť program Pig v režime MapReduce, potrebujete prístup ku klastru Hadoop a inštalácii HDFS. Režim MapReduce je možné určiť pomocou príkazu „prasa“.

Prevádzkovatelia Apache Pig:

Apache Pig Operators je procesný jazyk na vysokej úrovni pre dopytovanie veľkých množín údajov pomocou nástrojov Hadoop a Platforma Reduce Platform. Príkaz Pig Latin je operátor, ktorý vezme reláciu ako vstup a vytvorí inú reláciu ako výstup. Títo operátori sú hlavnými nástrojmi, ktoré Pig Latin poskytuje na prácu s údajmi. Umožňujú vám transformovať ich triedením, zoskupovaním, spájaním, premietaním a filtrovaním.

Vytvorme dva súbory na spustenie príkazov:

Máme dva súbory s názvom „first“ a „second“. Prvý súbor obsahuje tri polia: user, url & id.

Druhý súbor obsahuje dve polia: adresa URL a hodnotenie. Tieto dva súbory sú súbory CSV.

Operátory Apache Pig možno klasifikovať ako: Vzťahové a diagnostické.

Relační operátori:

Relačné operátory sú hlavné nástroje, ktoré Pig Latin poskytuje na prácu s dátami. Umožňuje vám transformovať údaje triedením, zoskupovaním, spájaním, premietaním a filtrovaním. Táto časť obsahuje základné relačné operátory.

NALOŽIŤ:

Operátor LOAD sa používa na načítanie údajov zo súborového systému alebo úložiska HDFS do relácie Pig.

V tomto príklade operátor Načítať načíta údaje zo súboru „prvý“ do vzťahu „načítanie1“. Názvy polí sú user, url, id.

PRE KAŽDÝ:

Tento operátor generuje dátové transformácie na základe stĺpcov údajov. Používa sa na pridanie alebo odstránenie polí zo vzťahu. Na prácu so stĺpcami údajov použite operáciu FOREACH-GENERATE.

VÝSLEDOK:

FILTER:

Tento operátor vyberie n-tice zo vzťahu na základe podmienky.

fibonacciho rekurzívny c ++

V tomto príklade filtrujeme záznam z „načítania1“, keď je podmienka „id“ väčšia ako 8.

Výsledok FILTRA:

PRIPOJTE SA:

Operátor JOIN sa používa na vykonávanie vnútorného spojenia dvoch alebo viacerých vzťahov ekvijoin na základe spoločných hodnôt poľa. Operátor JOIN vždy vykoná vnútorné spojenie. Vnútorné spojenia ignorujú nulové kľúče, preto má zmysel ich pred spojením odfiltrovať.

V tomto príklade spojte tieto dva vzťahy na základe stĺpca „url“ z „loading1“ a „loading2“.

Výsledok PRIPOJENIA:

ZORADIŤ PODĽA:

Poradie podľa sa používa na triedenie relácie na základe jedného alebo viacerých polí. Zoradiť môžete vzostupne alebo zostupne pomocou kľúčových slov ASC a DESC.

V nasledujúcom príklade triedime údaje v načítaní2 vzostupne v hodnotiacom poli.

OBJEDNAŤ PODĽA Výsledok :

ODLIŠNÝ:

Výrazný odstráni duplicitné n-tice v relácii. Vezmime vstupný súbor uvedený nižšie, ktorý má amr, svinstvo, 8 a amr, myblog, 10 dvakrát v spise. Keď na údaje v tomto súbore použijeme odlišné údaje, duplicitné položky sa odstránia.

VÝSLEDNÝ Výsledok:

OBCHOD:

Store sa používa na ukladanie výsledkov do súborového systému.

Tu šetríme načítanie3 údaje do súboru s názvom skladovanie na HDFS.

Výsledok OBCHODU:

SKUPINA:

Operátor SKUPINA zoskupuje n-tice s rovnakým kľúčom skupiny (kľúčové pole). Ak má skupinový kľúč viac ako jedno pole, pole s kľúčom bude n-tica, inak bude rovnakého typu ako typ skupinového kľúča. Výsledkom operácie GROUP je vzťah, ktorý obsahuje jednu n-ticu na skupinu.

V tomto príklade skupina th

Vzťah „načítanie1“ podľa adresy URL stĺpca.

Výsledok SKUPINY:

ZOSTAVA:

COGROUP je rovnaký ako operátor SKUPINA. Pre lepšiu čitateľnosť programátori zvyčajne používajú SKUPINU, keď je zapojený iba jeden vzťah, a COGROUP, keď je zapojených viac vzťahov.

V tomto príklade zoskupte pole „loading1“ a „loading2“ podľa adresy URL do oboch vzťahov.

Výsledok COGROUP:

KRÍŽ:

Operátor CROSS sa používa na výpočet krížového súčinu (karteziánsky súčin) dvoch alebo viacerých vzťahov.

Aplikácia krížového produktu na načítanie1 a načítanie2.

CROSS Výsledok:

LIMIT:

Operátor LIMIT sa používa na obmedzenie počtu výstupných n-tíc. Ak je zadaný počet výstupných n-tíc rovný alebo väčší ako počet n-tíc vo vzťahu, výstup bude obsahovať všetky n-tice vo vzťahu.

LIMITNÝ výsledok:

SPLIT:

Operátor SPLIT sa používa na rozdelenie obsahu relácie do dvoch alebo viacerých vzťahov na základe nejakého výrazu. Podľa podmienok uvedených vo výraze.

Rozdeľte načítanie2 na dva vzťahy x a y. x vzťah vytvorený načítaním2 obsahuje polia, ktoré majú hodnotenie väčšie ako 8 a y vzťah obsahuje polia, ktoré majú hodnotenie menšie alebo rovné 8.

Máte na nás otázku? Uveďte ich prosím v sekcii komentárov a my sa vám ozveme.

Súvisiace príspevky:

Operátori v Apache Pig - diagnostickí operátori

Kroky na vytvorenie UDF v Apache Pig

čo sú kontextové filtre v tablo