Урок за Hadoop Pig: Какво е Apache Pig? Archiтектура, Пример

Ще започнем с въведението към прасето

Какво е Apache Pig?

Pig е език за програмиране на високо ниво, полезен за анализиране на големи набори от данни. Pig е резултат от усилията за разработка на Yahoo!

В рамките на MapReduce програмите трябва да бъдат преведени в поредица от етапи Map и Reduce. Това обаче не е модел на програмиране, с който анализаторите на данни са запознати. И така, за да се преодолее тази празнина, върху Hadoop беше изградена абстракция, наречена Pig.

Apache Pig позволява на хората да се съсредоточат повече върху анализиране на масивни набори от данни и прекарване на по-малко време в писане на Map-Reduce програми. Подобно на прасетата, които ядат всичко, прасето Apache програмен език е проектиран да работи с всякакъв вид данни. Ето защо името, Прасе!

Ето защо името, Прасе!
Ето защо името, Прасе!

В този урок за Apache Pig за начинаещи ще научите-

Прасе Archiтекстура

- Archiструктурата на Pig се състои от два компонента:

  1. свинска латиница, което е език
  2. среда за изпълнение, за стартиране на програми на PigLatin.

Програмата Pig Latin се състои от поредица от операции или трансформации, които се прилагат към входните данни, за да се получи изход. Тези операции описват поток от данни, който се превежда в изпълнимо представяне от среда за изпълнение на Hadoop Pig. Отдолу резултатите от тези трансформации са поредица от задания на MapReduce, за които програмистът не знае. Така че, в известен смисъл, Pig в Hadoop позволява на програмиста да се съсредоточи върху данните, а не върху естеството на изпълнението.

PigLatin е сравнително твърд език, който използва познати ключови думи от обработката на данни, напр. Присъединяване, Групиране и Филтриране.

Урок за Hadoop PIG: Въведение, инсталиране и пример
PIG Archiтекстура

Режими на изпълнение:

Pig в Hadoop има два режима на изпълнение:

  1. Локален режим: В този режим езикът Hadoop Pig работи в единичен режим JVM и използва локална файлова система. Този режим е подходящ само за анализ на малки набори от данни с помощта на Pig в Hadoop
  2. Режим Map Reduce: В този режим заявките, написани на свинска латиница, се превеждат на MapReduce задания и се изпълняват на Hadoop клъстер (клъстерът може да бъде псевдо или напълно разпределен). Режимът MapReduce с напълно разпределен клъстер е полезен за стартиране на Pig върху големи набори от данни.

Как да изтеглите и инсталирате Pig

Сега в този урок за Apache Pig ще научим как да изтеглим и инсталираме Pig:

Преди да започнем с действителния процес, уверете се, че имате инсталиран Hadoop. Променете потребителя на „hduser“ (идентификатор, използван при конфигурацията на Hadoop, можете да превключите към потребителския идентификатор, използван по време на вашата конфигурация на Hadoop)

Урок за Hadoop PIG: Въведение, инсталиране и пример

Стъпка 1) Изтеглете най-новата стабилна версия на Pig Hadoop от всеки един от огледалните сайтове, достъпни на

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

Урок за Hadoop PIG: Въведение, инсталиране и пример

Изберете tar.gz (и не src.tar.gz) файл за изтегляне.

Стъпка 2) След като изтеглянето приключи, навигирайте до директорията, съдържаща изтегления tar файл, и преместете tar на мястото, където искате да настроите Pig Hadoop. В този случай ще се преместим в /usr/local

Урок за Hadoop PIG: Въведение, инсталиране и пример

Преместете се в директория, съдържаща Pig Hadoop файлове

cd /usr/local

Извлечете съдържанието на tar файла, както е показано по-долу

sudo tar -xvf pig-0.12.1.tar.gz

Урок за Hadoop PIG: Въведение, инсталиране и пример

Етап 3). Промяна ~ / .bashrc за добавяне на свързани с Pig променливи на средата

отворено ~ / .bashrc файл във всеки текстов редактор по ваш избор и направете модификациите по-долу-

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

Урок за Hadoop PIG: Въведение, инсталиране и пример

Стъпка 4) Сега извлечете тази конфигурация на средата, като използвате командата по-долу

. ~/.bashrc

Урок за Hadoop PIG: Въведение, инсталиране и пример

Стъпка 5) Трябва да прекомпилираме PIG да подкрепя Hadoop 2.2.0

Ето стъпките за това-

Отидете в началната директория на PIG

cd $PIG_HOME

Инсталирайте Ant

sudo apt-get install ant

Урок за Hadoop PIG: Въведение, инсталиране и пример

Забележка: Изтеглянето ще започне и ще отнеме време според вашата интернет скорост.

Прекомпилирайте PIG

sudo ant clean jar-all -Dhadoopversion=23

Урок за Hadoop PIG: Въведение, инсталиране и пример

Моля, обърнете внимание, че в този процес на повторно компилиране се изтеглят множество компоненти. Така че системата трябва да бъде свързана към интернет.

Освен това, в случай че този процес е заседнал някъде и не виждате никакво движение в командния ред повече от 20 минути, натиснете ctrl + c и повторете същата команда.

В нашия случай това отнема 20 минути

Урок за Hadoop PIG: Въведение, инсталиране и пример

Стъпка 6) Тествайте Прасе инсталация с помощта на командата

pig -help

Урок за Hadoop PIG: Въведение, инсталиране и пример

Примерен скрипт за прасе

Ще използваме Pig Scripts, за да намерим броя на продадените продукти във всяка държава.

Вход: Нашият набор от входни данни е CSV файл, SalesJan2009.csv

Стъпка 1) Стартирайте Hadoop

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

Стъпка 2) Pig в Big Data взема файл от HDFS в режим MapReduce и съхранява резултатите обратно в HDFS.

Копиране на файл SalesJan2009.csv (съхранява се в локална файлова система, ~/input/SalesJan2009.csv) в началната директория на HDFS (разпределена файлова система Hadoop).

Тук, в този пример на Apache Pig, файлът е във входна папка. Ако файлът се съхранява на друго място, дайте това име

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

Урок за Hadoop PIG: Въведение, инсталиране и пример

Проверете дали файлът наистина е копиран или не.

$HADOOP_HOME/bin/hdfs dfs -ls /

Урок за Hadoop PIG: Въведение, инсталиране и пример

Стъпка 3) Конфигурация на прасе

Първо отворете $PIG_HOME/conf

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

Урок за Hadoop PIG: Въведение, инсталиране и пример

отворено прасе.свойства с помощта на текстов редактор по ваш избор и посочете пътя на регистрационния файл с помощта на pig.logfile

sudo gedit pig.properties

Урок за Hadoop PIG: Въведение, инсталиране и пример

Loger ще използва този файл, за да регистрира грешки.

Стъпка 4) Изпълнете командата 'pig', която ще стартира командния ред на Pig, който е интерактивна обвивка на Pig заявки.

pig

Урок за Hadoop PIG: Въведение, инсталиране и пример

Стъпка 5)В командния ред на Grunt за Pig изпълнете по ред командите на Pig.

— A. Заредете файла, съдържащ данни.

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

Натиснете Enter след тази команда.

Урок за Hadoop PIG: Въведение, инсталиране и пример

— Б. Групиране на данни по поле Държава

GroupByCountry = GROUP salesTable BY Country;

Урок за Hadoop PIG: Въведение, инсталиране и пример

— C. За всеки кортеж в „Групиране по държава“, генерирайте резултантния низ от формата-> Име на държавата: Брой продадени продукти

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

Натиснете Enter след тази команда.

Урок за Hadoop PIG: Въведение, инсталиране и пример

— D. Съхранявайте резултатите от потока от данни в директорията 'pig_output_sales' на HDFS

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

Урок за Hadoop PIG: Въведение, инсталиране и пример

Тази команда ще отнеме известно време за изпълнение. След като сте готови, трябва да видите следния екран

Урок за Hadoop PIG: Въведение, инсталиране и пример

Стъпка 6) Резултатът може да се види чрез командния интерфейс като,

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

Урок за Hadoop PIG: Въведение, инсталиране и пример

Резултатите могат да се видят и чрез уеб интерфейс като-

Резултати чрез уеб интерфейс-

отворено http://localhost:50070/ в уеб браузър.

Урок за Hadoop PIG: Въведение, инсталиране и пример

Сега изберете „Преглед на файловата система“ и навигирайте до /user/hduser/pig_output_sales

Урок за Hadoop PIG: Въведение, инсталиране и пример

отворено част-r-00000

Урок за Hadoop PIG: Въведение, инсталиране и пример