Hadoop Pig-zelfstudie: wat is Apache Pig? Architectuur, voorbeeld

We beginnen met de introductie van Varken

Wat is Apache Pig?

Pig is een programmeertaal op hoog niveau die nuttig is voor het analyseren van grote datasets. Pig was het resultaat van ontwikkelingsinspanningen bij Yahoo!

In een MapReduce-framework moeten programma's worden vertaald in een reeks Map- en Reduce-fasen. Dit is echter geen programmeermodel waar data-analisten bekend mee zijn. Om deze kloof te overbruggen werd een abstractie genaamd Pig bovenop Hadoop gebouwd.

Apache Pig zorgt ervoor dat mensen zich meer kunnen concentreren het analyseren van bulkdatasets en om minder tijd te besteden aan het schrijven van Map-Reduce-programma's. Vergelijkbaar met varkens, die alles eten, het Apache-varken programmeertaal is ontworpen om met elk soort gegevens te werken. Dat is de reden waarom de naam, Varken!

Dat is de reden waarom de naam, Varken!
Dat is de reden waarom de naam, Varken!

In deze Apache Pig-tutorial voor beginners leer je:

Varken Architectuur

Het Architectuur van Pig bestaat uit twee componenten:

  1. Varken Latijn, wat een taal is
  2. Een runtime-omgeving, voor het uitvoeren van PigLatin-programma's.

Een Pig Latin-programma bestaat uit een reeks bewerkingen of transformaties die worden toegepast op de invoergegevens om uitvoer te produceren. Deze bewerkingen beschrijven een gegevensstroom die wordt vertaald naar een uitvoerbare representatie, door de Hadoop Pig-uitvoeringsomgeving. Daaronder zijn de resultaten van deze transformaties reeksen MapReduce-taken waarvan een programmeur zich niet bewust is. Dus op een bepaalde manier stelt Pig in Hadoop de programmeur in staat om zich te concentreren op gegevens in plaats van op de aard van de uitvoering.

PigLatin is een relatief stijve taal die bekende trefwoorden uit de gegevensverwerking gebruikt, bijvoorbeeld Join, Group en Filter.

Hadoop PIG-tutorial: introductie, installatie en voorbeeld
VARKEN Architectuur

Uitvoeringsmodi:

Pig in Hadoop heeft twee uitvoeringsmodi:

  1. Lokale modus: in deze modus wordt de Hadoop Pig-taal in één keer uitgevoerd JVM en maakt gebruik van een lokaal bestandssysteem. Deze modus is alleen geschikt voor analyse van kleine datasets met Pig in Hadoop
  2. Map Reduce-modus: in deze modus worden zoekopdrachten die in Pig Latin zijn geschreven, vertaald naar KaartVerminderen taken en worden uitgevoerd op een Hadoop-cluster (cluster kan pseudo of volledig gedistribueerd zijn). De MapReduce-modus met het volledig gedistribueerde cluster is handig voor het uitvoeren van Pig op grote datasets.

Pig downloaden en installeren

In deze Apache Pig-tutorial leren we nu hoe we Pig kunnen downloaden en installeren:

Voordat we met het eigenlijke proces beginnen, zorg ervoor dat Hadoop is geïnstalleerd. Wijzig de gebruiker in 'hduser' (ID gebruikt tijdens de Hadoop-configuratie, u kunt overschakelen naar de userid die u tijdens uw Hadoop-configuratie gebruikt)

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Stap 1) Download de stabiele nieuwste release van Pig Hadoop van een van de mirrors-sites die beschikbaar zijn op

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

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

kies tar.gz (en niet src.tar.gz) bestand om te downloaden.

Stap 2) Zodra een download is voltooid, navigeert u naar de map met het gedownloade tar-bestand en verplaatst u de tar naar de locatie waar u Pig Hadoop wilt instellen. In dit geval gaan we naar /usr/local

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Ga naar een map met Pig Hadoop-bestanden

cd /usr/local

Pak de inhoud van het tar-bestand uit, zoals hieronder

sudo tar -xvf pig-0.12.1.tar.gz

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Stap 3). wijzigen ~ / .bashrc om Pig-gerelateerde omgevingsvariabelen toe te voegen

Openen ~ / .bashrc bestand in een teksteditor naar keuze en breng onderstaande wijzigingen aan:

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

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Stap 4) Bron nu deze omgevingsconfiguratie met behulp van onderstaande opdracht

. ~/.bashrc

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Stap 5) We moeten opnieuw compileren VARKEN ondersteunen Hadoop 2.2.0

Hier zijn de stappen om dit te doen-

Ga naar de PIG-thuismap

cd $PIG_HOME

Installeer Ant

sudo apt-get install ant

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Opmerking: het downloaden begint en kost tijd, afhankelijk van uw internetsnelheid.

PIG opnieuw compileren

sudo ant clean jar-all -Dhadoopversion=23

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Houd er rekening mee dat tijdens dit hercompilatieproces meerdere componenten worden gedownload. Een systeem moet dus verbonden zijn met internet.

Als dit proces ergens vastloopt en u gedurende meer dan 20 minuten geen beweging ziet op de opdrachtprompt, druk dan op Ctrl + c en voer dezelfde opdracht opnieuw uit.

In ons geval duurt het 20 minuten

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Stap voor 6) Test de Varken installatie met behulp van de opdracht

pig -help

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Voorbeeld varkensscript

We zullen Pig Scripts gebruiken om het aantal verkochte producten in elk land te vinden.

Input: Onze invoergegevensset is een CSV-bestand, VerkoopJan2009.csv

Stap voor 1) Hadoop starten

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

Stap voor 2) Pig in Big Data haalt een bestand uit HDFS in MapReduce-modus en slaat de resultaten weer op in HDFS.

Kopieer bestand VerkoopJan2009.csv (opgeslagen op lokaal bestandssysteem, ~/input/SalesJan2009.csv) naar de HDFS-basismap (Hadoop Distributed File System).

Hier in dit Apache Pig-voorbeeld bevindt het bestand zich in mapinvoer. Als het bestand op een andere locatie is opgeslagen, geeft u die naam op

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

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Controleer of een bestand daadwerkelijk wordt gekopieerd of niet.

$HADOOP_HOME/bin/hdfs dfs -ls /

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Stap 3) Varkensconfiguratie

Navigeer eerst naar $PIG_HOME/conf

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

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Openen varkenseigenschappen met behulp van een teksteditor naar keuze, en geef het pad naar het logbestand op met behulp van pig.logbestand

sudo gedit pig.properties

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Loger zal dit bestand gebruiken om fouten te loggen.

Stap 4) Voer de opdracht 'pig' uit, waardoor de Pig-opdrachtprompt wordt gestart, een interactieve shell-Pig-query.

pig

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Stap 5)Voer in de Grunt-opdrachtprompt voor Pig de onderstaande Pig-opdrachten in volgorde uit.

— A. Laad het bestand met gegevens.

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

Druk na deze opdracht op Enter.

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

— B. Gegevens groeperen op veld Land

GroupByCountry = GROUP salesTable BY Country;

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

— C. Voor elk tuple in 'Groeperen per land', genereer de resulterende tekenreeks van het formulier-> Naam van land: aantal verkochte producten

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

Druk na deze opdracht op Enter.

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

— D. Sla de resultaten van Data Flow op in de map 'pig_output_sales' op HDFS

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

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Het uitvoeren van deze opdracht duurt even. Als het eenmaal is uitgevoerd, zou u het volgende scherm moeten zien

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Stap 6) Het resultaat kan via de opdrachtinterface worden gezien als,

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

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Resultaten kunnen ook worden bekeken via een webinterface als-

Resultaten via een webinterface-

Openen http://localhost:50070/ in een webbrowser.

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

selecteer nu 'Blader door het bestandssysteem' en navigeer ernaartoe /user/hduser/pig_output_sales

Hadoop PIG-tutorial: introductie, installatie en voorbeeld

Openen onderdeel-r-00000

Hadoop PIG-tutorial: introductie, installatie en voorbeeld