apache pig что это

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

Apache Pig

Содержание

Pig Latin

Pig Latin – относительно простой язык, выполняющий операторы. Оператор – это процедура, принимающая входные данные (например, массив, состоящий из набора записей) и формирующая на выходе другой массив. Массив – это структура, подобная таблице реляционной базы данных, в которой записи аналогичны строкам таблицы и состоят из полей. В сценариях Pig Latin часто используется определенный алгоритм, в котором данные считываются из файловой системы, затем над ними выполняется ряд действий (одно или несколько преобразований), после чего конечная структура записывается обратно в файловую систему.

Операторы Pig Latin работают с отношениями (и называются реляционными операторами). Ниже приведены основные реляционные операторы Pig:

Установка

Требования

Обязательные

Для пользователей Unix и Windows необходимо:

Опциональные

Загрузка Pig

Для загрузки Pig необходимо произвести следующие действия:

Сборка Pig

Для сборки Pig необходимо произвести следующие действия:

Видео с установкой

Работа с Pig и примеры использования

Команды Pig и операторы Pig Latin можно выполнять в различных режимах. Эти режимы приведены в таблице ниже:

Local ModeTez Local ModeSpark Local ModeMapreduce ModeTez ModeSpark Mode
Интерактивный режимдаэкспериментальныйдададада
Режим Batchдаэкспериментальныйдададада

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

В Pig есть 6 видов режимов выполнения:

Интерактивный режим

Запустить Pig в интерактивном режиме можно с помощью оболочки Grunt. Вызвать оболочку Grunt можно командой pig в терминале.

В примере ниже выражение Pig Latin производит извлечение идентификаторов всех пользователей из файла /etc/passw. В первую очередь нужно скопировать файл /etc/passwd в локальную рабочую директорию. Затем перейти в оболочку Grunt (c помощью команды pig) и выполнить скрипт, указанный ниже. Оператор DUMP выведет результат в терминал.

Режим Batch

Чтобы выполнить скрипт Pig из файла, например в локальном режиме, необходимо выполнить следующую команду:

Инструкции в Pig Latin

Инструкции Pig Latin обычно организованы следующим образом:

Стоит учитывать, что операторы DUMP или STORE необходимы для генерирования выходных данных.

Загрузка данных

Для загрузки данных в Pig и их чтения используются операторы LOAD и load/store (PigStorage является функцией загрузки по умолчанию)

Работа с данными

Pig позволяет преобразовывать данные множеством способов. Для стоит ознакомиться с этими операторами:

Хранение промежуточных результатов

Pig хранит промежуточные данные, сгенерированные задачами MapReduce во временной директории на файловой системе HDFS. Эта директория должна существовать на кластере HDFS. Её можно сконфигурировать с помощью свойства pig.temp.dir. Значением по умолчанию для этого свойства является «/tmp».

Хранение окончательных результатов

Отладка в Pig Latin

В Pig Latin есть операторы для отладки инструкций Pig Latin:

Источник

СОДЕРЖАНИЕ

История

Именование

Что касается наименования языка программирования Pig, имя было выбрано произвольно и закрепилось, потому что оно было запоминающимся, легким в написании и для новизны.

История гласит, что исследователи, работавшие над проектом, первоначально называли его просто «языком». В конце концов им нужно было это как-то назвать. Один из исследователей неожиданно предположил, что это Свинья, и название прижилось. Он необычный, но запоминающийся, и его легко написать по буквам. Хотя некоторые намекнули, что это имя звучит застенчиво или глупо, оно предоставило нам интересную номенклатуру, такую ​​как Pig Latin для языка, Grunt для оболочки и PiggyBank для общего репозитория, подобного CPAN.

Пример

Ниже приведен пример программы « Подсчет слов » на языке Pig Latin:

Вышеупомянутая программа будет генерировать параллельные исполняемые задачи, которые могут быть распределены между несколькими машинами в кластере Hadoop для подсчета количества слов в наборе данных, таком как все веб-страницы в Интернете.

Свинья против SQL

По сравнению с SQL, Pig

С другой стороны, утверждалось, что СУБД значительно быстрее системы MapReduce после загрузки данных, но загрузка данных в системах баз данных занимает значительно больше времени. Также утверждалось, что РСУБД « из коробки» предлагают поддержку хранения столбцов, работу со сжатыми данными, индексы для эффективного произвольного доступа к данным и отказоустойчивость на уровне транзакций.

SQL ориентирован на запросы, которые производят единственный результат. SQL обрабатывает деревья естественным образом, но не имеет встроенного механизма для разделения потока обработки данных и применения различных операторов к каждому подпотоку. Сценарий Pig Latin описывает ориентированный ациклический граф (DAG), а не конвейер.

Способность Pig Latin включать пользовательский код в любой момент конвейера полезна для разработки конвейера. Если используется SQL, данные должны быть сначала импортированы в базу данных, а затем может начаться процесс очистки и преобразования.

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

Apache Pig

Содержание

Pig Latin

Pig Latin – относительно простой язык, выполняющий операторы. Оператор – это процедура, принимающая входные данные (например, массив, состоящий из набора записей) и формирующая на выходе другой массив. Массив – это структура, подобная таблице реляционной базы данных, в которой записи аналогичны строкам таблицы и состоят из полей. В сценариях Pig Latin часто используется определенный алгоритм, в котором данные считываются из файловой системы, затем над ними выполняется ряд действий (одно или несколько преобразований), после чего конечная структура записывается обратно в файловую систему.

Операторы Pig Latin работают с отношениями (и называются реляционными операторами). Ниже приведены основные реляционные операторы Pig:

Установка

Требования

Обязательные

Для пользователей Unix и Windows необходимо:

Опциональные

Загрузка Pig

Для загрузки Pig необходимо произвести следующие действия:

Сборка Pig

Для сборки Pig необходимо произвести следующие действия:

Видео с установкой

Работа с Pig и примеры использования

Команды Pig и операторы Pig Latin можно выполнять в различных режимах. Эти режимы приведены в таблице ниже:

ВерсияИсходная дата выпускаПоследняя версияДата выпуска
Старая версия, больше не поддерживается: 0,12008-09-110.1.12008-12-05
Старая версия, больше не поддерживается: 0,22009-04-080.2.02009-04-08
Старая версия, больше не поддерживается: 0,32009-06-250.3.02009-06-25
Старая версия, больше не поддерживается: 0,42009-08-290.4.02009-08-29
Старая версия, больше не поддерживается: 0,52009-09-290.5.02009-09-29
Старая версия, больше не поддерживается: 0,62010-03-010.6.02010-03-01
Старая версия, больше не поддерживается: 0,72010-05-130.7.02010-05-13
Старая версия, больше не поддерживается: 0,82010-12-170.8.12011-04-24
Старая версия, больше не поддерживается: 0,92011-07-290.9.22012-01-22
Старая версия, больше не поддерживается: 0,102012-01-220.10.12012-04-25
Старая версия, больше не поддерживается: 0,112013-02-210.11.12013-04-01
Старая версия, больше не поддерживается: 0,122013-10-140.12.12014-04-14
Старая версия, больше не поддерживается: 0,132014-07-040,13,02014-07-04
Старая версия, больше не поддерживается: 0,142014-11-200,14,02014-11-20
Старая версия, больше не поддерживается: 0,152015-06-060,15,02015-06-06
Старая версия, больше не поддерживается: 0,162016-06-080,16,02016-06-08
Текущая стабильная версия: 0,172017-06-190,17,02017-06-19
Local ModeTez Local ModeSpark Local ModeMapreduce ModeTez ModeSpark Mode
Интерактивный режимдаэкспериментальныйдададада
Режим Batchдаэкспериментальныйдададада

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

В Pig есть 6 видов режимов выполнения:

Интерактивный режим

Запустить Pig в интерактивном режиме можно с помощью оболочки Grunt. Вызвать оболочку Grunt можно командой pig в терминале.

В примере ниже выражение Pig Latin производит извлечение идентификаторов всех пользователей из файла /etc/passw. В первую очередь нужно скопировать файл /etc/passwd в локальную рабочую директорию. Затем перейти в оболочку Grunt (c помощью команды pig) и выполнить скрипт, указанный ниже. Оператор DUMP выведет результат в терминал.

Режим Batch

Чтобы выполнить скрипт Pig из файла, например в локальном режиме, необходимо выполнить следующую команду:

Инструкции в Pig Latin

Инструкции Pig Latin обычно организованы следующим образом:

Стоит учитывать, что операторы DUMP или STORE необходимы для генерирования выходных данных.

Загрузка данных

Для загрузки данных в Pig и их чтения используются операторы LOAD и load/store (PigStorage является функцией загрузки по умолчанию)

Работа с данными

Pig позволяет преобразовывать данные множеством способов. Для стоит ознакомиться с этими операторами:

Хранение промежуточных результатов

Pig хранит промежуточные данные, сгенерированные задачами MapReduce во временной директории на файловой системе HDFS. Эта директория должна существовать на кластере HDFS. Её можно сконфигурировать с помощью свойства pig.temp.dir. Значением по умолчанию для этого свойства является «/tmp».

Хранение окончательных результатов

Отладка в Pig Latin

В Pig Latin есть операторы для отладки инструкций Pig Latin:

Источник

Apache Pig — Краткое руководство

Apache Pig — это абстракция над MapReduce. Это инструмент / платформа, которая используется для анализа больших наборов данных, представляющих их как потоки данных. Свинья обычно используется с Hadoop ; мы можем выполнять все операции с данными в Hadoop, используя Apache Pig.

Зачем нам Apache Pig?

Программисты, которые не очень хороши в Java, обычно борются с работой с Hadoop, особенно при выполнении любых задач MapReduce. Apache Pig — благо для всех таких программистов.

Pig Latin — это SQL-подобный язык, и Apache Pig легко освоить, если вы знакомы с SQL.

Apache Pig предоставляет множество встроенных операторов для поддержки операций с данными, таких как объединения, фильтры, упорядочение и т. Д. Кроме того, он также предоставляет вложенные типы данных, такие как кортежи, сумки и карты, которые отсутствуют в MapReduce.

Pig Latin — это SQL-подобный язык, и Apache Pig легко освоить, если вы знакомы с SQL.

Apache Pig предоставляет множество встроенных операторов для поддержки операций с данными, таких как объединения, фильтры, упорядочение и т. Д. Кроме того, он также предоставляет вложенные типы данных, такие как кортежи, сумки и карты, которые отсутствуют в MapReduce.

Особенности Свиньи

Apache Pig поставляется со следующими функциями —

Богатый набор операторов — предоставляет множество операторов для выполнения таких операций, как объединение, сортировка, фильтрация и т. Д.

Простота программирования — Pig Latin похож на SQL, и его легко написать, если вы хорошо разбираетесь в SQL.

Возможности оптимизации — задачи в Apache Pig автоматически оптимизируют их выполнение, поэтому программистам необходимо сосредоточиться только на семантике языка.

Расширяемость — Используя существующие операторы, пользователи могут разрабатывать свои собственные функции для чтения, обработки и записи данных.

UDF’s — Pig предоставляет возможность создавать пользовательские функции на других языках программирования, таких как Java, а также вызывать или встраивать их в сценарии Pig.

Обрабатывает все виды данных — Apache Pig анализирует все виды данных, как структурированных, так и неструктурированных. Он сохраняет результаты в HDFS.

Богатый набор операторов — предоставляет множество операторов для выполнения таких операций, как объединение, сортировка, фильтрация и т. Д.

Простота программирования — Pig Latin похож на SQL, и его легко написать, если вы хорошо разбираетесь в SQL.

Возможности оптимизации — задачи в Apache Pig автоматически оптимизируют их выполнение, поэтому программистам необходимо сосредоточиться только на семантике языка.

Расширяемость — Используя существующие операторы, пользователи могут разрабатывать свои собственные функции для чтения, обработки и записи данных.

UDF’s — Pig предоставляет возможность создавать пользовательские функции на других языках программирования, таких как Java, а также вызывать или встраивать их в сценарии Pig.

Обрабатывает все виды данных — Apache Pig анализирует все виды данных, как структурированных, так и неструктурированных. Он сохраняет результаты в HDFS.

Apache Pig Vs MapReduce

Ниже перечислены основные различия между Apache Pig и MapReduce.

Apache PigУменьшение карты
Apache Pig — это язык потоков данных.MapReduce — это парадигма обработки данных.
Это язык высокого уровня.MapReduce низкоуровневый и жесткий.
Выполнить операцию соединения в Apache Pig довольно просто.В MapReduce довольно сложно выполнить операцию соединения между наборами данных.
Любой начинающий программист с базовыми знаниями SQL может удобно работать с Apache Pig.Экспозиция на Java должна работать с MapReduce.
Apache Pig использует подход с несколькими запросами, тем самым значительно сокращая длину кодов.MapReduce потребует почти в 20 раз больше количества строк для выполнения той же задачи.
Нет необходимости в компиляции. При выполнении каждый оператор Apache Pig внутренне преобразуется в задание MapReduce.Задания MapReduce имеют длительный процесс компиляции.

Apache Pig Vs SQL

Ниже перечислены основные различия между Apache Pig и SQL.

В дополнение к вышеуказанным различиям, Apache Pig Latin —

Apache Pig Vs Hive

Apache Pig и Hive используются для создания рабочих мест MapReduce. А в некоторых случаях Hive работает с HDFS аналогично Apache Pig. В следующей таблице мы перечислили несколько важных моментов, которые отличают Apache Pig от Hive.

Приложения Apache Pig

Apache Pig обычно используется исследователями данных для выполнения задач, включающих специальную обработку и быстрое создание прототипов. Apache Pig используется —

Apache Pig — История

В 2006 году Apache Pig был разработан в качестве исследовательского проекта в Yahoo, особенно для создания и выполнения заданий MapReduce для каждого набора данных. В 2007 году Apache Pig был открыт с помощью инкубатора Apache. В 2008 году вышел первый выпуск Apache Pig. В 2010 году Apache Pig получил высшее образование в качестве проекта Apache.

Apache Pig — Архитектура

Для выполнения конкретной задачи Программистам, использующим Pig, программистам необходимо написать сценарий Pig с использованием языка Pig Latin и выполнить их с использованием любого из механизмов выполнения (Grunt Shell, UDFs, Embedded). После выполнения эти сценарии пройдут серию преобразований, применяемых Pig Framework, для получения желаемого результата.

Внутренне Apache Pig преобразует эти сценарии в серию заданий MapReduce, что облегчает работу программиста. Архитектура Apache Pig показана ниже.

apache pig что это

Apache Pig Компоненты

Как показано на рисунке, в платформе Apache Pig есть различные компоненты. Давайте посмотрим на основные компоненты.

синтаксический анализатор

Первоначально сценарии Pig обрабатываются парсером. Он проверяет синтаксис скрипта, выполняет проверку типов и другие разные проверки. Результатом парсера будет DAG (направленный ациклический граф), который представляет операторы Pig Latin и логические операторы.

В группе обеспечения доступности баз данных логические операторы сценария представлены в виде узлов, а потоки данных представлены в виде ребер.

оптимизатор

Логический план (DAG) передается логическому оптимизатору, который выполняет логические оптимизации, такие как проекция и опускание.

составитель

Компилятор компилирует оптимизированный логический план в серию заданий MapReduce.

Движок исполнения

Наконец, задания MapReduce передаются в Hadoop в отсортированном порядке. Наконец, эти задания MapReduce выполняются в Hadoop и дают желаемые результаты.

Модель данных Pig Latin

apache pig что это

Пример — «Раджа» или «30»

Кортеж

Запись, которая формируется упорядоченным набором полей, называется кортежем, поля могут быть любого типа. Кортеж похож на строку в таблице RDBMS.

Мешок

Сумка — это неупорядоченный набор кортежей. Другими словами, коллекция кортежей (неуникальная) называется сумкой. Каждый кортеж может иметь любое количество полей (гибкая схема). Сумка представлена ​​как <<>. Она похожа на таблицу в RDBMS, но в отличие от таблицы в RDBMS, необязательно, чтобы каждый кортеж содержал одинаковое количество полей или чтобы поля в одной и той же позиции (столбце) имели одинаковый тип.

карта

Карта (или карта данных) представляет собой набор пар ключ-значение. Ключ должен быть типа chararray и должен быть уникальным. Значение может быть любого типа. Он представлен как ‘[]’

Пример — [имя # Раджа, возраст # 30]

Связь

Отношение — это мешок кортежей. Отношения в Pig Latin неупорядочены (нет никакой гарантии, что кортежи будут обработаны в каком-либо конкретном порядке).

Apache Pig — Установка

В этой главе объясняется, как загрузить, установить и настроить Apache Pig в вашей системе.

Предпосылки

Очень важно, чтобы в вашей системе были установлены Hadoop и Java, прежде чем переходить на Apache Pig. Поэтому перед установкой Apache Pig установите Hadoop и Java, выполнив действия, указанные в следующей ссылке:

Скачать Apache Pig

Прежде всего, загрузите последнюю версию Apache Pig со следующего веб-сайта — https://pig.apache.org/

Шаг 1

Откройте домашнюю страницу веб-сайта Apache Pig. Под разделом Новости нажмите на страницу выпуска ссылки, как показано на следующем снимке.

apache pig что это

Шаг 2

apache pig что это

Шаг 3

Выберите и нажмите любое из этих зеркал, как показано ниже.

apache pig что это

Шаг 4

apache pig что это

Шаг 5

В этих папках у вас будут исходные и двоичные файлы Apache Pig в различных дистрибутивах. Загрузите tar-файлы исходного кода и двоичные файлы Apache Pig 0.15, pig0.15.0-src.tar.gz и pig-0.15.0.tar.gz.

apache pig что это

Установите Apache Pig

После загрузки программного обеспечения Apache Pig установите его в своей среде Linux, следуя инструкциям, приведенным ниже.

Шаг 1

Создайте каталог с именем Pig в том же каталоге, где были установлены каталоги установки Hadoop, Java и другого программного обеспечения. (В нашем уроке мы создали каталог Pig для пользователя с именем Hadoop).

Шаг 2

Извлеките загруженные файлы tar, как показано ниже.

Шаг 3

Переместите содержимое файла pig-0.15.0-src.tar.gz в каталог Pig, созданный ранее, как показано ниже.

Настройте Apache Pig

В файле .bashrc установите следующие переменные —

Папка PIG_HOME в папку установки Apache Pig,

Переменная среды PATH для папки bin и

Переменная среды PIG_CLASSPATH в папку etc (configuration) ваших установок Hadoop (каталог, содержащий файлы core-site.xml, hdfs-site.xml и mapred-site.xml).

Папка PIG_HOME в папку установки Apache Pig,

Переменная среды PATH для папки bin и

Переменная среды PIG_CLASSPATH в папку etc (configuration) ваших установок Hadoop (каталог, содержащий файлы core-site.xml, hdfs-site.xml и mapred-site.xml).

файл pig.properties

Поддерживаются следующие свойства —

Проверка установки

Проверьте установку Apache Pig, введя команду version. Если установка прошла успешно, вы получите версию Apache Pig, как показано ниже.

Apache Pig — Казнь

В предыдущей главе мы объяснили, как установить Apache Pig. В этой главе мы обсудим, как выполнить Apache Pig.

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

Локальный режим

В этом режиме все файлы устанавливаются и запускаются с локального хоста и локальной файловой системы. Нет необходимости в Hadoop или HDFS. Этот режим обычно используется для целей тестирования.

Режим MapReduce

В режиме MapReduce мы загружаем или обрабатываем данные, которые существуют в файловой системе Hadoop (HDFS), с использованием Apache Pig. В этом режиме всякий раз, когда мы выполняем операторы Pig Latin для обработки данных, в серверной части вызывается задание MapReduce для выполнения определенной операции с данными, существующими в HDFS.

Apache Pig Механизмы исполнения

Сценарии Apache Pig могут быть выполнены тремя способами, а именно: интерактивный режим, пакетный режим и встроенный режим.

Интерактивный режим (оболочка Grunt) — вы можете запустить Apache Pig в интерактивном режиме с помощью оболочки Grunt. В этой оболочке вы можете ввести операторы Pig Latin и получить выходные данные (используя оператор Dump).

Встроенный режим (UDF) — Apache Pig предоставляет возможность определения наших собственных функций (определенных функций F ) в таких языках программирования, как Java, и их использования в нашем скрипте.

Интерактивный режим (оболочка Grunt) — вы можете запустить Apache Pig в интерактивном режиме с помощью оболочки Grunt. В этой оболочке вы можете ввести операторы Pig Latin и получить выходные данные (используя оператор Dump).

Встроенный режим (UDF) — Apache Pig предоставляет возможность определения наших собственных функций (определенных функций F ) в таких языках программирования, как Java, и их использования в нашем скрипте.

Вызов скорлупы

Вы можете вызвать оболочку Grunt в нужном режиме (local / MapReduce), используя параметр -x, как показано ниже.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *