Hadoop Pig -opastus: Mikä on Apache Pig? Architecture, esimerkki

Aloitamme Pig-esittelyllä

Mikä on Apache Pig?

Pig on korkean tason ohjelmointikieli, joka on hyödyllinen suurten tietojoukkojen analysointiin. Pig oli Yahoo!

MapReduce-kehyksessä ohjelmat on muutettava sarjaksi Map- ja Reduce-vaiheita. Tämä ei kuitenkaan ole ohjelmointimalli, jonka dataanalyytikot tuntevat. Joten tämän kuilun kuromiseksi umpeen, Hadoopin päälle rakennettiin abstraktio nimeltä Pig.

Apache Pig antaa ihmisille mahdollisuuden keskittyä enemmän massatietojoukkojen analysointia ja vähemmän aikaa Map-Reduce-ohjelmien kirjoittamiseen. Samanlainen kuin Siat, jotka syövät mitä tahansa, Apache Pig ohjelmointikieli on suunniteltu toimimaan kaikenlaisten tietojen kanssa. Siksi nimi, Possu!

Siksi nimi, Possu!
Siksi nimi, Possu!

Tässä aloittelijan Apache Pig -opetusohjelmassa opit

Sika Archirakenne

- ArchiPossun rakenne koostuu kahdesta osasta:

  1. sika latina, joka on kieli
  2. Ajonaikainen ympäristö, PigLatin-ohjelmien suorittamiseen.

Pig Latin -ohjelma koostuu sarjasta operaatioita tai muunnoksia, joita sovelletaan syöttötietoihin tulosteen tuottamiseksi. Nämä toiminnot kuvaavat tietovirtaa, joka muunnetaan suoritettavaksi esitykseksi Hadoop Pig -suoritusympäristössä. Alla näiden muutosten tulokset ovat sarja MapReduce-töitä, joista ohjelmoija ei ole tietoinen. Joten tavallaan Pig in Hadoop antaa ohjelmoijalle mahdollisuuden keskittyä dataan suorituksen luonteen sijaan.

PigLatin on suhteellisen jäykkä kieli, joka käyttää tietojenkäsittelystä tuttuja avainsanoja, esim. Liity, Group ja Filter.

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki
PIG Archirakenne

Suoritustavat:

Pig in Hadoopilla on kaksi suoritustilaa:

  1. Paikallinen tila: Tässä tilassa Hadoop Pig -kieli toimii yhdessä JVM ja käyttää paikallista tiedostojärjestelmää. Tämä tila sopii vain pienten tietojoukkojen analysointiin käyttämällä Pig in Hadoopissa
  2. Kartan pienennystila: Tässä tilassa sian latinaksi kirjoitetut kyselyt käännetään kielelle MapReduce työpaikkoja ja niitä ajetaan Hadoop-klusterissa (klusteri voi olla pseudo- tai täysin hajautettu). MapReduce-tila, jossa on täysin hajautettu klusteri, on hyödyllinen, kun Pig suoritetaan suurilla tietojoukoilla.

Kuinka ladata ja asentaa Pig

Nyt tässä Apache Pig -opetusohjelmassa opimme lataamaan ja asentamaan Pig:n:

Ennen kuin aloitamme varsinaisen prosessin, varmista, että Hadoop on asennettu. Vaihda käyttäjäksi "hduser" (tunnusta käytetään Hadoop-määrityksen aikana, voit vaihtaa Hadoop-määrityksen aikana käytettyyn käyttäjätunnukseen)

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Vaihe 1) Lataa Pig Hadoopin vakaa uusin julkaisu miltä tahansa peilisivustolta, joka on saatavilla osoitteessa

http://pig.apache.org/releases.html

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

valita tar.gz (ja ei src.tar.gz) ladattava tiedosto.

Vaihe 2) Kun lataus on valmis, siirry ladatun tar-tiedoston sisältävään hakemistoon ja siirrä tar paikkaan, johon haluat määrittää Pig Hadoopin. Tässä tapauksessa siirrymme hakemistoon /usr/local

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Siirry hakemistoon, joka sisältää Pig Hadoop -tiedostot

cd /usr/local

Pura tar-tiedoston sisältö alla

sudo tar -xvf pig-0.12.1.tar.gz

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Vaihe 3). Muuttaa ~ / .bashrc lisätäksesi Pigiin liittyviä ympäristömuuttujia

avoin ~ / .bashrc tiedosto missä tahansa valitsemassasi tekstieditorissa ja tee alla olevat muutokset -

export PIG_HOME=<Installation directory of Pig>
export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Vaihe 4) Hanki nyt tämä ympäristökokoonpano käyttämällä alla olevaa komentoa

. ~/.bashrc

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Vaihe 5) Meidän on käännettävä uudelleen PIG tukea Hadoop 2.2.0

Tässä on vaiheet tämän tekemiseen -

Siirry PIG-kotihakemistoon

cd $PIG_HOME

Asenna Ant

sudo apt-get install ant

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Huomautus: Lataus alkaa ja kuluttaa aikaa Internet-nopeuden mukaan.

Kääntää PIG uudelleen

sudo ant clean jar-all -Dhadoopversion=23

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Huomaa, että tässä uudelleenkäännösprosessissa ladataan useita komponentteja. Joten järjestelmän pitäisi olla yhteydessä Internetiin.

Lisäksi, jos tämä prosessi jumissa jonnekin etkä näe liikettä komentokehotteessa yli 20 minuuttiin, paina Ctrl + c ja suorita sama komento uudelleen.

Meidän tapauksessamme se kestää 20 minuuttia

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Vaihe 6) Testaa Sika asennus komennolla

pig -help

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Esimerkki Pig Script

Käytämme Pig-skriptejä kussakin maassa myytyjen tuotteiden määrän selvittämiseen.

input: Syöttötietojoukkomme on CSV-tiedosto, MyyntiJan2009.csv

Vaihe 1) Käynnistä Hadoop

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh

Vaihe 2) Pig in Big Data ottaa tiedoston kohteesta HDFS MapReduce-tilassa ja tallentaa tulokset takaisin HDFS:ään.

Kopioi tiedosto MyyntiJan2009.csv (tallennettu paikalliseen tiedostojärjestelmään, ~/input/SalesJan2009.csv) HDFS (Hadoop Distributed File System) -kotihakemistoon

Tässä Apache Pig -esimerkissä tiedosto on kansiossa. Jos tiedosto on tallennettu johonkin muuhun paikkaan, anna se nimi

$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Tarkista, onko tiedosto todella kopioitu vai ei.

$HADOOP_HOME/bin/hdfs dfs -ls /

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Vaihe 3) Sian kokoonpano

Siirry ensin kohtaan $PIG_HOME/conf

cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

avoin sika.ominaisuudet käyttämällä valitsemaasi tekstieditoria ja määritä lokitiedoston polku käyttämällä pig.lokitiedosto

sudo gedit pig.properties

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Loger käyttää tätä tiedostoa virheiden kirjaamiseen.

Vaihe 4) Suorita komento "pig", joka käynnistää Pig-komentokehotteen, joka on interaktiivinen kuori Pig-kyselyt.

pig

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Vaihe 5)Suorita Pig-komentokehotteessa alla olevat Pig-komennot järjestyksessä.

— A. Lataa tiedot sisältävä tiedosto.

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);

Paina Enter tämän komennon jälkeen.

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

— B. Ryhmittele tiedot kentän mukaan

GroupByCountry = GROUP salesTable BY Country;

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

— C. Jokaiselle tuple in "GroupByCountry", luo tuloksena oleva lomakkeen merkkijono-> Maan nimi: Myytyjen tuotteiden määrä

CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));

Paina Enter tämän komennon jälkeen.

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

— D. Tallenna Data Flow -tulokset hakemistoon 'pig_output_sales' HDFS:llä

STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Tämän komennon suorittaminen kestää jonkin aikaa. Kun olet valmis, sinun pitäisi nähdä seuraava näyttö

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Vaihe 6) Tulos voidaan nähdä komentoliittymän kautta, kuten

$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Tulokset ovat nähtävissä myös verkkokäyttöliittymän kautta mm.

Tulokset verkkokäyttöliittymän kautta -

avoin http://localhost:50070/ selaimessa.

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

Valitse nyt "Selaa tiedostojärjestelmää" ja navigoi ylös /user/hduser/pig_output_sales

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki

avoin osa-r-00000

Hadoop PIG -opetusohjelma: Johdanto, asennus ja esimerkki