Учебное пособие по Hadoop Pig: что такое Apache Pig? Archiтектура, пример

Мы начнем со знакомства с Pig.

Что такое Apache Pig?

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

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

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

Вот почему такое имя, Свинья!
Вот почему такое имя, Свинья!

В этом уроке Apache Pig для начинающих вы научитесь:

Свинья Archiтекстура

Команда ArchiТекстура Свиньи состоит из двух компонентов:

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

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

PigLatin — относительно жесткий язык, в котором используются знакомые ключевые слова из обработки данных, например «Объединение», «Группировка» и «Фильтр».

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

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

Pig в Hadoop имеет два режима выполнения:

  1. Локальный режим. В этом режиме язык Hadoop Pig запускается в одном JVM и использует локальную файловую систему. Этот режим подходит только для анализа небольших наборов данных с использованием Pig в Hadoop.
  2. Режим сокращения карты: в этом режиме запросы, написанные на латыни Pig, переводятся на Уменьшение карты задания и выполняются в кластере 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 поддерживать Хадуп 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 -help

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

Пример сценария свиньи

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

Входной сигнал: Наш набор входных данных представляет собой файл CSV, Продажиянварь2009.csv

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

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

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

Копировать файл Продажиянварь2009.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. Сохранение результатов Data Flow в каталоге. '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: введение, установка и пример