Hadoop Pig Tutorial: mis on Apache Pig? ArchiTektuur, Näide
Alustame Siga tutvustusest
Mis on Apache Pig?
Pig on kõrgetasemeline programmeerimiskeel, mis on kasulik suurte andmekogumite analüüsimiseks. Pig oli Yahoo!
MapReduce'i raamistikus tuleb programmid tõlkida kaardistamise ja vähendamise etappideks. See pole aga andmeanalüütikutele tuttav programmeerimismudel. Nii et selle lõhe ületamiseks ehitati Hadoopi peale abstraktsioon nimega Pig.
Apache Pig võimaldab inimestel rohkem keskenduda analüüsida hulgiandmekogumeid ja kulutada vähem aega Map-Reduce programmide kirjutamisele. Sarnaselt sigadele, kes söövad kõike, Apache Pig programmeerimiskeel on loodud töötama mis tahes tüüpi andmetega. Sellepärast see nimi, siga!

Sellest algajatele mõeldud Apache Pig õpetusest saate teada
Siga Architektuur
. ArchiSigade struktuur koosneb kahest komponendist:
-
sea ladina keel, mis on keel
-
käituskeskkond, PigLatini programmide käitamiseks.
Pig Latin programm koosneb reast operatsioonidest või teisendustest, mida rakendatakse sisendandmetele väljundi saamiseks. Need toimingud kirjeldavad andmevoogu, mis tõlgitakse Hadoop Pig täitmiskeskkonnas käivitatavasse esitusse. Allpool on nende teisenduste tulemused MapReduce'i tööde seeriad, millest programmeerija ei tea. Nii et teatud mõttes võimaldab Pig in Hadoop programmeerijal keskenduda pigem andmetele kui täitmise olemusele.
PigLatin on suhteliselt jäigam keel, mis kasutab andmetöötlusest tuttavaid märksõnu, nt Join, Group ja Filter.
Täitmisrežiimid:
Pig in Hadoop on kaks täitmisrežiimi:
-
Kohalik režiim: selles režiimis töötab Hadoop Pig keel ühes FMV ja kasutab kohalikku failisüsteemi. See režiim sobib ainult väikeste andmekogumite analüüsimiseks, kasutades Pig Hadoopis
-
Kaardi vähendamise režiim: selles režiimis tõlgitakse sea ladina keeles kirjutatud päringud keelde MapReduce töid ja neid käitatakse Hadoopi klastris (klaster võib olla pseudo- või täielikult hajutatud). Täielikult hajutatud klastriga MapReduce režiim on kasulik Pig'i käitamiseks suurtes andmekogumites.
Kuidas Pig alla laadida ja installida
Nüüd selles Apache Pig õpetuses õpime, kuidas Pig alla laadida ja installida:
Enne tegeliku protsessiga alustamist veenduge, et Hadoop oleks installitud. Muutke kasutajaks "hduser" (ID, mida kasutatakse Hadoopi konfigureerimisel, saate lülituda Hadoopi seadistamise ajal kasutatud kasutajatunnusele)
Step 1) Laadige alla Pig Hadoopi stabiilne uusim versioon mis tahes peeglite saidilt, mis on saadaval aadressil
http://pig.apache.org/releases.html
valima tar.gz (ja mitte src.tar.gz) allalaaditav fail.
Step 2) Kui allalaadimine on lõppenud, liikuge allalaaditud tar-faili sisaldavasse kataloogi ja teisaldage tar kohta, kus soovite Pig Hadoopi seadistada. Sel juhul liigume kausta /usr/local
Liikuge Pig Hadoopi faile sisaldavasse kataloogi
cd /usr/local
Pakkige tar-faili sisu välja nagu allpool
sudo tar -xvf pig-0.12.1.tar.gz
Samm 3). muutma ~ / .bashrc Sigaga seotud keskkonnamuutujate lisamiseks
avatud ~ / .bashrc faili mis tahes valitud tekstiredaktoris ja tehke allolevaid muudatusi -
export PIG_HOME=<Installation directory of Pig> export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH
Step 4) Nüüd hankige see keskkonna konfiguratsioon alloleva käsu abil
. ~/.bashrc
Step 5) Peame uuesti kompileerima PIG toetama Hadoop 2.2.0
Siin on sammud selle tegemiseks -
Minge PIG-i kodukataloogi
cd $PIG_HOME
Installige Ant
sudo apt-get install ant
Märkus. Allalaadimine algab ja võtab aega vastavalt teie Interneti-kiirusele.
PIG uuesti kompileerimine
sudo ant clean jar-all -Dhadoopversion=23
Pange tähele, et selle ümberkompileerimisprotsessi käigus laaditakse alla mitu komponenti. Seega peaks süsteem olema Internetiga ühendatud.
Samuti, kui see protsess takerdub kuhugi ja te ei näe käsureal liikumist kauem kui 20 minutit, vajutage ctrl + c ja käivitage sama käsk uuesti.
Meie puhul kulub selleks 20 minutit
Samm 6) Testige Siga installimine käsuga
pig -help
Pig Scripti näide
Igas riigis müüdud toodete arvu leidmiseks kasutame Pig Scripti.
sisend: Meie sisendandmete kogum on CSV-fail, MüükJaan2009.csv
Samm 1) Käivitage Hadoop
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
Samm 2) Pig in Big Data võtab faili aadressilt HDFS MapReduce režiimis ja salvestab tulemused tagasi HDFS-i.
Kopeeri failid MüükJaan2009.csv (salvestatud kohalikku failisüsteemi, ~/input/SalesJan2009.csv) HDFS-i (Hadoop Distributed File System) kodukataloogi
Selles Apache Pig näites on fail kausta sisendis. Kui fail on salvestatud mõnes teises kohas, andke see nimi
$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /
Kontrollige, kas fail on tegelikult kopeeritud või mitte.
$HADOOP_HOME/bin/hdfs dfs -ls /
Step 3) Sea konfiguratsioon
Kõigepealt navigeerige saidile $PIG_HOME/conf
cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original
avatud sea.omadused kasutades oma valitud tekstiredaktorit ja määrake logifaili tee kasutades pig.logfile
sudo gedit pig.properties
Loger kasutab seda faili vigade logimiseks.
Step 4) Käivitage käsk 'pig', mis käivitab Pig'i käsuviiba, mis on interaktiivne kest Pig'i päringud.
pig
Step 5)Pig Grunti käsureal täitke allpool olevad Pig käsud järjekorras.
— A. Laadige andmeid sisaldav fail.
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);
Pärast seda käsku vajutage sisestusklahvi.
— B. Rühmitage andmed välja Riik järgi
GroupByCountry = GROUP salesTable BY Country;
— C. Iga korruse kohta 'GroupByCountry', genereerige saadud string vormist-> Riigi nimi: Müüdud toodete arv
CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));
Pärast seda käsku vajutage sisestusklahvi.
— D. Salvestage andmevoo tulemused kataloogi 'pig_output_sales' HDFS-is
STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');
Selle käsu täitmine võtab veidi aega. Kui olete lõpetanud, peaksite nägema järgmist ekraani
Step 6) Tulemust saab näha käsuliidese kaudu nagu
$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000
Tulemusi saab näha ka veebiliidese kaudu,
Tulemused veebiliidese kaudu-
avatud http://localhost:50070/
veebibrauseris.
Nüüd vali "Sirvi failisüsteemi" ja navigeerige üles /user/hduser/pig_output_sales
avatud osa r-00000