Hluboký ponor do prasete



Tento blogový příspěvek je hlubokým ponorem do Pig a jeho funkcí. Najdete ukázku toho, jak můžete pracovat na Hadoopu pomocí Pig bez závislosti na Javě.

Jedním z největších důvodů, proč popularita Hadoopu v poslední době prudce vzrostla, je skutečnost, že funkce jako Pig a Hive běží navíc a umožňují neprogramátorům funkce, které byly dříve exkluzivní pro programátory Java. Tyto vlastnosti byly důsledkem rostoucí poptávky po profesionálech Hadoop. Mezi další funkce, které používají profesionálové Hadoop z jiných prostředí než Java, patří Flume, Sqoop, HBase a Oozie.





Chcete-li pochopit, proč nepotřebujete Javu, abyste se naučili Hadoop, podívejte se tento blog .

1 Historie prasat



sloučit rozhodovací strom 4 prvků

Pojďme pochopit, jak tyto funkce fungují.

Všichni víme, že znalosti programování jsou pro psaní kódů MapReduce nutností. Ale co když mám nástroj, který dokáže kódování, pokud poskytnu pouze podrobnosti? To je místo, kde Pig vykazuje svoji svalovou sílu. Pig používá platformu nazvanou Pig Latin, která abstrahuje programování z idiomu Java MapReduce do notace, díky níž je programování MapReduce na vysoké úrovni, podobně jako u SQL pro systémy RDBMS. Kódy napsané v Pig Latin MapReduce se automaticky převedou na ekvivalentní funkce MapReduce. Není to úžasné? Dalším faktem, který vyfukuje mysl, je, že k nahrazení 200 řádků Java je zapotřebí pouze 10 řádků prasete.



10 řádků prasete = 200 řádků Javy

To znamená nejen to, že ne-Java profesionálové používají Hadoop, ale také svědčí o podtrhující skutečnosti, že Pig používá stejný počet technických vývojářů.

Kromě toho, pokud chcete napsat svůj vlastní kód MapReduce, můžete to udělat v kterémkoli z jazyků, jako je Perl, Python, Ruby nebo C. Některé základní operace, které můžeme provádět na jakékoli datové sadě pomocí Pig, jsou Group, Join, Filter a Sort . Tyto operace lze provádět na strukturovaných, nestrukturovaných a také polostrukturovaných datech. Poskytují ad hoc způsob vytváření a provádění úloh MapReduce na velmi velkých souborech dat.

Dále pojďme rozumět Úlu. Jedná se o open-source, peta-bajtové měřítko datového skladu založené na Hadoopu pro sumarizaci dat, dotazování a analýzu. Hive poskytuje rozhraní Hadoop podobné rozhraní SQL. Pomocí Hive můžete číst a zapisovat soubory na Hadoop a spouštět své sestavy z nástroje BI. Některé typické funkce Hadoop jsou:

Ukážu vám ukázku pomocí datové sady Pig on Clickstream
Použijeme tato data Clickstream a provedeme transformace, připojení a seskupení.

ClickStream je řada kliknutí myší provedená uživatelem při přístupu na internet, zejména sledovaná za účelem posouzení zájmů dané osoby pro marketingové účely. Používají jej hlavně online maloobchodní weby jako Flipkart a Amazon, které sledují vaše aktivity a generují doporučení. Datová sada Clickstream, kterou jsme využili, má následující pole:

1. Typ jazyka podporovaného webovou aplikací

2. Typ prohlížeče

3. Typ připojení

4. ID země

5. Časové razítko

6. URL

7. Stav uživatele

8. Typ uživatele

S příslušnými poli to bude vypadat takto.

Níže je uveden seznam typů prohlížečů, které používají různí lidé při procházení konkrétního webu. Mezi seznamy patří prohlížeče jako Internet Explorer, Google Chrome, Lynx atd.

Typ připojení k internetu může být Lan / Modem / Wifi. Úplný seznam najdete na obrázku níže:

Na dalším obrázku najdete seznam zemí, ze kterých web přilákal publikum, spolu s jejich ID.

Jakmile shromáždíme všechny datové sady, musíme spustit shell Pig's Grunt, který je spuštěn za účelem spuštění příkazů Pig.

První věcí, kterou musíme udělat při spuštění Grunt shellu, je načíst data Clickstream do vztahu Pig. Relace není nic jiného než tabulka. Níže je uveden příkaz, který používáme k načtení souboru umístěného v HDFS do Pigova vztahu.

Schéma relace můžeme ověřit příkazem popsat click_stream.

Nyní musíme přidat referenční soubory, které budou obsahovat podrobnosti o seznamu zemí s jejich ID a různých typech prohlížečů spolu s jejich ID.

Nyní máme dva referenční soubory, ale k vytvoření relace je třeba je připojit.
Spustíme příkaz connection_ref k označení typu připojení.

Nyní, když máme funkční připojení a navázaný vztah, ukážeme vám, jak můžeme tato data transformovat.
Pro každý záznam v Clickstream vygenerujeme nový záznam v jiném formátu, tj. Transformovaná data. Nový formát bude obsahovat pole jako TimeStamp, typ prohlížeče, ID země a několik dalších.

Můžeme provést operaci Filtr, abychom ořízli Big Data. Různé typy uživatelů jsou administrátoři, hosté nebo roboti. V naší ukázce jsem filtroval seznam hostů.

Pokud si pamatujete, ID země je v Clickstream a načetli jsme soubor country_ref obsahující názvy zemí spolu s jeho ID. Můžeme tedy provést operaci spojení mezi dvěma soubory a sloučit data a odvodit přehledy.

Pokud jsme se k datům připojili, můžeme pomocí seskupení zjistit různé země, z nichž jsou uživatelé. Jakmile budeme mít tato data, můžeme provést operaci Počítání k identifikaci počtu uživatelů z konkrétní země.

Odvozovat poznatky z Big Data není žádná raketová věda. To jsou jen některé z mnoha funkcí, které jsem implementoval, as nástroji jako Hive, Hbase, Oozie, Sqoop a Flume existuje poklad dat, který je ještě třeba prozkoumat. Takže ti z vás, kteří se brání učení Hadoopu, je čas na změnu.

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:

4 způsoby, jak společně používat R a Hadoop

Vše o Cloudera Certified Developer pro Apache Hadoop