Учебники

10) Hadoop PIG

Что такое свинья?

Pig – это язык программирования высокого уровня, полезный для анализа больших наборов данных. Свинья была результатом усилий по разработке в Yahoo!

В рамках MapReduce программы должны быть переведены в ряд этапов Map и Reduce. Однако это не та модель программирования, с которой знакомы аналитики данных. Итак, чтобы преодолеть этот пробел, на Hadoop была построена абстракция под названием Pig.

Apache Pig позволяет людям больше сосредоточиться на  анализе больших массивов данных и тратить меньше времени на написание программ Map-Reduce. Подобно Pigs, которые едят что угодно, язык программирования Pig разработан для работы с любыми данными. Вот почему имя, Свинья!

Учебник по Hadoop PIG: введение, установка и пример

В этом уроке для начинающих с большими данными вы узнаете

Свинья Архитектура

Свинья состоит из двух компонентов:

  1. Свинья латынь,  которая является языком
  2. Среда выполнения,  для запуска программ PigLatin.

Программа Pig Latin состоит из серии операций или преобразований, которые применяются к входным данным для получения выходных данных. Эти операции описывают поток данных, который преобразуется в исполняемое представление средой выполнения Pig. Ниже приведены результаты этих преобразований – серии заданий MapReduce, о которых программист не знает. Таким образом, Pig позволяет программисту сосредоточиться на данных, а не на характере выполнения.

PigLatin является относительно жестким языком, который использует знакомые ключевые слова из обработки данных, например, Join, Group и Filter.

Учебник по Hadoop PIG: введение, установка и пример

Свинья Архитектура

Режимы исполнения:

Свинья имеет два режима исполнения:

  1. Локальный режим: в этом режиме Pig работает в одной JVM и использует локальную файловую систему. Этот режим подходит только для анализа небольших наборов данных с использованием Pig
  2. Режим уменьшения карты: в этом режиме запросы, написанные на языке Pig Latin, переводятся в задания MapReduce и выполняются в кластере Hadoop (кластер может быть псевдо или полностью распределенным). Режим MapReduce с полностью распределенным кластером полезен для запуска Pig на больших наборах данных.

Как скачать и установить свинью

Прежде чем мы начнем с самого процесса, убедитесь, что у вас установлен Hadoop. Измените пользователя на ‘hduser’ (идентификатор, используемый при настройке Hadoop, вы можете переключиться на идентификатор пользователя, использованный при настройке Hadoop)

Учебник по Hadoop PIG: введение, установка и пример

Шаг 1)  Загрузите последнюю стабильную версию Pig с любого из зеркал, доступных на

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

Учебник по Hadoop PIG: введение, установка и пример

Выберите   файл tar.gz  (а не  src.tar.gz) для загрузки.

Шаг 2)  После завершения загрузки перейдите в каталог, содержащий загруженный tar-файл, и переместите tar в то место, где вы хотите установить Pig. В этом случае мы переместимся в / usr / local

Учебник по Hadoop PIG: введение, установка и пример

Перейти в каталог, содержащий файлы Pig

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

Установить муравей

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 с помощью команды

pig -help

Учебник по Hadoop PIG: введение, установка и пример

Пример Pig Script

Мы будем использовать PIG для определения количества проданных товаров в каждой стране.

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

Шаг  1)  Запустите Hadoop

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

Шаг  2)  Свинья берет файл из HDFS в режиме MapReduce и сохраняет результаты обратно в HDFS.

Скопируйте файл  SalesJan2009.csv  (хранящийся в локальной файловой системе  ~ / input / SalesJan2009.csv ) в домашнюю директорию HDFS (распределенная файловая система Hadoop).

Здесь файл находится в папке ввода. Если файл хранится в другом месте, дайте это имя

$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.properties в любом  текстовом редакторе и укажите путь к файлу журнала, используя  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: введение, установка и пример

– B. Группировать данные по полю Страна

GroupByCountry = GROUP salesTable BY Country;

Учебник по Hadoop PIG: введение, установка и пример

– C. Для каждого кортежа в  «GroupByCountry» сгенерируйте результирующую строку в форме-> Название страны: Количество проданных продуктов

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: введение, установка и пример