Operátoři v Apache Pig: Část 1 - Relační operátoři



Tento příspěvek popisuje operátory v Apache Pig. Podívejte se na tento příspěvek pro Operátory v Apache Pig: Část 1 - Relační operátoři.

Tento příspěvek je o operátorech v Apache Pig.Apache Pig také umožňuje psát složité datové transformace bez znalosti jazyka Java, což je pro Windows opravdu důležité .Než se podíváme na operátory, pojďme se rychle podívat na to, co je Pig and Pig Latin a na různé režimy, ve kterých je lze provozovat.

Co je Apache Pig?

Apache Pig je procedurální jazyk na vysoké úrovni pro dotazování velkých datových sad pomocí Hadoop a platformy Map Reduce. Jedná se o balíček Java, kde lze skripty spouštět z jakékoli jazykové implementace běžící na JVM. To se velmi používá v iteračních procesech.





Apache Pig zjednodušuje použití Hadoopu tím, že umožňuje dotazy podobné SQL na distribuovanou datovou sadu a umožňuje vytvářet složité úkoly pro rychlé a efektivní zpracování velkých objemů dat. Nejlepší vlastností Pig je, že podporuje mnoho relačních funkcí, jako je Join, Group a Aggregate.

Vím, že Pig zní mnohem víc jako nástroj ETL a má mnoho funkcí společných s nástroji ETL. Výhodou Pig oproti nástrojům ETL je však to, že může běžet na mnoha serverech současně.



Co je Apache Pig Latin?

Apache Pig vytvoří jednodušší abstrakci procedurálního jazyka nad Map Reduce, aby odhalil více podobné rozhraní strukturovaného dotazovacího jazyka (SQL) pro aplikace Hadoop zvané Apache Pig Latin, takže místo psaní samostatné aplikace Map Reduce můžete v Apache napsat jeden skript Prasečí latina, která se automaticky paralelizuje a distribuuje v klastru. Jednoduše řečeno, Pig Latin, je sled jednoduchých příkazů, které berou vstup a produkují výstup. Vstupní a výstupní data se skládají z tašek, map, n-tic a skalárních.

Režimy provedení Apache Pig:

Apache Pig má dva režimy provádění:

  • Místní režim

V „místním režimu“ by se zdrojová data vybírala z místního adresáře ve vašem počítačovém systému. Režim MapReduce lze určit pomocí příkazu „pig –x local“.



Operátoři v Apache Pig - 1

  • Režim MapReduce:

Chcete-li spustit Pig v režimu MapReduce, potřebujete přístup ke clusteru Hadoop a instalaci HDFS. Režim MapReduce lze určit pomocí příkazu „prase“.

Provozovatelé Apache Pig:

Apache Pig Operators je procesní jazyk na vysoké úrovni pro dotazování velkých datových sad pomocí Hadoop a Map Reduce Platform. Příkaz Pig Latin je operátor, který bere relaci jako vstup a produkuje další relaci jako výstup. Tito operátoři jsou hlavní nástroje, které Pig Latin poskytuje pro práci s daty. Umožní vám to transformovat seřazením, seskupením, připojením, promítnutím a filtrováním.

Vytvořme dva soubory pro spuštění příkazů:

Máme dva soubory s názvem „first“ a „second“. První soubor obsahuje tři pole: user, url & id.

Druhý soubor obsahuje dvě pole: url a hodnocení. Tyto dva soubory jsou soubory CSV.

Operátory Apache Pig lze klasifikovat jako: Relační a diagnostické.

Relační operátoři:

Relační operátoři jsou hlavní nástroje, které Pig Latin poskytuje pro práci s daty. Umožňuje vám transformovat data tříděním, seskupováním, spojováním, projektováním a filtrováním. Tato část popisuje základní relační operátory.

ZATÍŽENÍ:

Operátor LOAD se používá k načtení dat ze systému souborů nebo úložiště HDFS do relace Pig.

V tomto příkladu operátor Načíst načte data ze souboru „první“ do relace „načítání1“. Názvy polí jsou uživatel, adresa URL, id.

PRO KAŽDÉHO:

Tento operátor generuje datové transformace na základě sloupců dat. Používá se k přidání nebo odebrání polí ze relace. Pro práci se sloupci dat použijte operaci FOREACH-GENERATE.

VÝSLEDEK VÝSLEDKU:

FILTR:

Tento operátor vybírá n-tice ze relace na základě podmínky.

fibonacciho rekurze c ++

V tomto příkladu filtrujeme záznam z „načítání1“, když je podmínka „id“ větší než 8.

Výsledek FILTRU:

PŘIPOJIT SE:

Operátor JOIN se používá k provedení vnitřního spojení equijoin dvou nebo více vztahů na základě hodnot společného pole. Operátor JOIN vždy provede vnitřní spojení. Vnitřní spojení ignoruje nulové klíče, takže má smysl je před spojením odfiltrovat.

V tomto příkladu spojte dva vztahy na základě sloupce „url“ z „načítání1“ a „načítání2“.

Výsledek PŘIPOJENÍ:

SEŘADIT PODLE:

Order By se používá k řazení relace na základě jednoho nebo více polí. Třídění ve vzestupném nebo sestupném pořadí můžete provádět pomocí klíčových slov ASC a DESC.

V níže uvedeném příkladu řadíme data v načítání2 ve vzestupném pořadí v poli hodnocení.

OBJEDNAT PODLE výsledku :

ODLIŠNÝ:

Distinct odstraní duplicitní n-tice v relaci. Pojďme vzít vstupní soubor, jak je uvedeno níže, který má amr, kecy, 8 a amr, myblog, 10 dvakrát v souboru. Když použijeme odlišné údaje v tomto souboru, duplicitní položky budou odstraněny.

VÝSLEDNÝ výsledek:

OBCHOD:

Store se používá k ukládání výsledků do systému souborů.

Tady šetříme načítání3 data do souboru s názvem skladování na HDFS.

Výsledek OBCHODU:

SKUPINA:

Operátor GROUP seskupuje n-tice se stejným klíčem skupiny (klíčové pole). Pole klíče bude n-tice, pokud má klíč skupiny více než jedno pole, jinak bude mít stejný typ jako klíč skupiny. Výsledkem operace GROUP je relace, která zahrnuje jednu n-tici na skupinu.

V tomto příkladu skupina th

Vztah „načítání1“ podle adresy URL sloupce.

Výsledek SKUPINY:

COGROUP:

COGROUP je stejný jako operátor GROUP. Pro čitelnost programátoři obvykle používají SKUPINU, když je zahrnuta pouze jedna relace, a COGROUP, když je zapojeno více relací.

V tomto příkladu seskupte pole „načítání1“ a „načítání2“ podle adresy URL do obou vztahů.

Výsledek COGROUP:

PŘEJÍT:

Operátor CROSS se používá k výpočtu křížového součinu (kartézský součin) dvou nebo více vztahů.

Použití křížového produktu při načítání1 a načítání2.

CROSS Výsledek:

OMEZIT:

Operátor LIMIT se používá k omezení počtu n-tic. Pokud je zadaný počet výstupních n-tic stejný nebo překračuje počet n-tic ve relaci, bude výstup zahrnovat všechny n-tice ve relaci.

LIMIT Výsledek:

ROZDĚLIT:

Operátor SPLIT se používá k rozdělení obsahu relace do dvou nebo více relací na základě nějakého výrazu. V závislosti na podmínkách uvedených ve výrazu.

Rozdělte načítání2 na dva vztahy xay. x relace vytvořená načítáním2 obsahuje pole, která má hodnocení větší než 8 a y relace obsahuje pole, která má hodnocení menší nebo rovno 8.

Máte na nás dotaz? Uveďte je prosím v sekci komentáře a my se vám ozveme.

Související příspěvky:

Operátoři v Apache Pig - diagnostické operátory

Kroky k vytvoření UDF v Apache Pig

co je objekt skeneru