Hadoop Pig Tutorial: Co je Apache Pig? Architecture, Příklad
Začneme úvodem do Prase
Co je Apache Pig?
Pig je programovací jazyk na vysoké úrovni užitečný pro analýzu velkých souborů dat. Pig byl výsledkem vývojového úsilí v Yahoo!
V rámci MapReduce je třeba programy převést do řady fází Map a Reduce. Nejedná se však o programovací model, který znají datoví analytici. Aby bylo možné překlenout tuto propast, byla na vrcholu Hadoop postavena abstrakce zvaná Pig.
Apache Pig umožňuje lidem více se soustředit na analyzovat hromadné datové sady a trávit méně času psaním programů Map-Reduce. Podobně jako Prasata, která jedí cokoli, Apačské prase programovací jazyk je navržen tak, aby pracoval s jakýmkoli druhem dat. Proto ten název, Prase!

V tomto tutoriálu pro začátečníky Apache Pig se naučíte-
Prase Architecture
Jedno Architecture of Pig se skládá ze dvou částí:
-
prasečí latina, což je jazyk
-
Runtime prostředí, pro spouštění programů PigLatin.
Program Pig Latin se skládá ze série operací nebo transformací, které jsou aplikovány na vstupní data, aby vytvořily výstup. Tyto operace popisují tok dat, který je převáděn do spustitelné reprezentace prováděcím prostředím Hadoop Pig. Pod výsledky těchto transformací jsou série úloh MapReduce, o kterých programátor neví. Takže svým způsobem Pig in Hadoop umožňuje programátorovi soustředit se na data spíše než na povahu provádění.
PigLatin je poměrně zkostnatělý jazyk, který používá známá klíčová slova ze zpracování dat, např. Join, Group a Filter.
Režimy provedení:
Pig in Hadoop má dva režimy provádění:
-
Místní režim: V tomto režimu běží jazyk Hadoop Pig v jediném JVM a využívá místní souborový systém. Tento režim je vhodný pouze pro analýzu malých datových sad pomocí Pig v Hadoopu
-
Režim zmenšení mapy: V tomto režimu se dotazy napsané v prasečí latině překládají do MapReduce úlohy a jsou spuštěny na clusteru Hadoop (klastr může být pseudo nebo plně distribuovaný). Režim MapReduce s plně distribuovaným clusterem je užitečný při spouštění Pig na velkých souborech dat.
Jak stáhnout a nainstalovat Pig
Nyní v tomto tutoriálu Apache Pig se naučíme, jak stáhnout a nainstalovat Pig:
Než začneme se skutečným procesem, ujistěte se, že máte nainstalovaný Hadoop. Změnit uživatele na 'hduser' (ID používané při konfiguraci Hadoop, můžete přepnout na uživatelské ID používané během konfigurace Hadoop)
Krok 1) Stáhněte si stabilní nejnovější verzi Pig Hadoop z některého ze zrcadlových stránek dostupných na adrese
http://pig.apache.org/releases.html
vybrat tar.gz (a ne src.tar.gz) soubor ke stažení.
Krok 2) Jakmile je stahování dokončeno, přejděte do adresáře obsahujícího stažený soubor tar a přesuňte tar do umístění, kde chcete nastavit Pig Hadoop. V tomto případě se přesuneme do /usr/local
Přesuňte se do adresáře obsahujícího Pig Hadoop Files
cd /usr/local
Extrahujte obsah souboru tar, jak je uvedeno níže
sudo tar -xvf pig-0.12.1.tar.gz
Krok 3). Upravit ~ / .bashrc přidat proměnné prostředí související s prasaty
Otevřená ~ / .bashrc soubor v libovolném textovém editoru dle vašeho výběru a proveďte níže uvedené úpravy-
export PIG_HOME=<Installation directory of Pig> export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH
Krok 4) Nyní vytvořte zdroj této konfigurace prostředí pomocí níže uvedeného příkazu
. ~/.bashrc
Krok 5) Musíme překompilovat PRASE podporovat Hadoop 2.2.0
Zde jsou kroky, jak to udělat -
Přejděte do domovského adresáře PIG
cd $PIG_HOME
Nainstalujte Ant
sudo apt-get install ant
Poznámka: Stahování se spustí a zabere čas podle rychlosti vašeho internetu.
Překompilujte PIG
sudo ant clean jar-all -Dhadoopversion=23
Vezměte prosím na vědomí, že v tomto procesu rekompilace se stahuje více komponent. Systém by tedy měl být připojen k internetu.
Také v případě, že se tento proces někde zasekl a na příkazovém řádku nevidíte žádný pohyb déle než 20 minut, stiskněte ctrl + c a znovu spusťte stejný příkaz.
V našem případě to trvá 20 minut
Krok 6) Otestujte Prase instalace pomocí příkazu
pig -help
Příklad prasečího skriptu
Použijeme Pig Scripts k nalezení počtu produktů prodaných v každé zemi.
Vstup: Náš soubor vstupních dat je soubor CSV, ProdejJan2009.csv
Krok 1) Spusťte Hadoop
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
Krok 2) Pig in Big Data bere soubor z HDFS v režimu MapReduce a uloží výsledky zpět do HDFS.
Zkopírovat soubor ProdejJan2009.csv (uloženo v místním souborovém systému, ~/input/SalesJan2009.csv) do domovského adresáře HDFS (Hadoop Distributed File System).
Zde v tomto příkladu Apache Pig je soubor ve složce Vstup. Pokud je soubor uložen na jiném místě, uveďte tento název
$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /
Ověřte, zda je soubor skutečně zkopírován nebo ne.
$HADOOP_HOME/bin/hdfs dfs -ls /
Krok 3) Konfigurace prasat
Nejprve přejděte na $PIG_HOME/conf
cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original
Otevřená prase.vlastnosti pomocí textového editoru podle vašeho výběru a zadejte cestu k souboru protokolu pomocí pig.logfile
sudo gedit pig.properties
Loger použije tento soubor k protokolování chyb.
Krok 4) Spusťte příkaz 'pig', který spustí příkazový řádek Pig, což je interaktivní shell Pig dotazů.
pig
Krok 5)V příkazovém řádku Grunt pro Pig provádějte níže uvedené příkazy Pig v pořadí.
— A. Načtěte soubor obsahující data.
salesTable = LOAD '/SalesJan2009.csv' USING PigStorage(',') AS (Transaction_date:chararray,Product:chararray,Price:chararray,Payment_Type:chararray,Name:chararray,City:chararray,State:chararray,Country:chararray,Account_Created:chararray,Last_Login:chararray,Latitude:chararray,Longitude:chararray);
Po tomto příkazu stiskněte Enter.
— B. Seskupení údajů podle pole Země
GroupByCountry = GROUP salesTable BY Country;
— C. Za každou n-tici v 'GroupByCountry', vygenerujte výsledný řetězec formuláře-> Název země: Počet prodaných produktů
CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));
Po tomto příkazu stiskněte Enter.
— D. Uložte výsledky datového toku do adresáře 'pig_output_sales' na HDFS
STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');
Provedení tohoto příkazu bude nějakou dobu trvat. Po dokončení byste měli vidět následující obrazovku
Krok 6) Výsledek lze vidět prostřednictvím příkazového rozhraní jako,
$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000
Výsledky lze také zobrazit prostřednictvím webového rozhraní jako-
Výsledky prostřednictvím webového rozhraní –
Otevřená http://localhost:50070/
ve webovém prohlížeči.
Nyní vyberte 'Procházet souborový systém' a přejděte nahoru /user/hduser/pig_output_sales
Otevřená část-r-00000