Введение в Apache Pig

Опубликовано: 18 Февраля, 2022

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

Примечание. Pig Engine имеет два типа среды выполнения, а именно среду локального выполнения в одной JVM (используется, когда набор данных небольшой по размеру) и среду распределенного выполнения в кластере Hadoop.

Need of Pig: Одно из ограничений MapReduce - очень длинный цикл разработки. Написание reducer и mapper, компиляция упаковки кода, отправка задания и получение вывода - это трудоемкая задача. Apache Pig сокращает время разработки за счет использования подхода с несколькими запросами. Кроме того, Pig полезен для программистов, которые не из Javabackground. На языке Pig Latin можно написать 200 строк кода Java всего за 10 строк. Программистам, обладающим знаниями SQL, нужно было меньше усилий, чтобы выучить Pig Latin.

Эволюция свиньи: ранее в 2006 году исследователи Yahoo разработали Apache Pig. В то время основной идеей разработки Pig было выполнение заданий MapReduce для очень больших наборов данных. В 2007 году он перешел в Apache Software Foundation (ASF), что сделало его проектом с открытым исходным кодом. Первая версия ( 0.1 ) Pig появилась в 2008 году. Последняя версия Apache Pig - 0.18, вышла в 2017 году.

Особенности Apache Pig:

  • Для выполнения нескольких операций Apache Pig предоставляет богатый набор операторов, таких как фильтры, объединение, сортировка и т. Д.
  • Легко учиться, читать и писать. Apache Pig - это подарок, особенно для SQL-программиста.
  • Apache Pig является расширяемым, так что вы можете создавать свои собственные определяемые пользователем функции и процессы.
  • Операция присоединения проста в Apache Pig.
  • Меньше строк кода.
  • Apache Pig допускает разбиение в конвейере.
  • Структура данных многозначна, вложена и богаче.
  • Pig может обрабатывать анализ как структурированных, так и неструктурированных данных.


Апачская свинья Уменьшение карты
Это язык сценариев. Это скомпилированный язык программирования.
Абстракция находится на более высоком уровне. Абстракция находится на более низком уровне.
В нем меньше строк кода по сравнению с MapReduce. Строк кода больше.
Для Apache Pig требуется меньше усилий. Для MapReduce требуется больше усилий по разработке.
Эффективность кода ниже по сравнению с MapReduce. По сравнению с Pig эффективность кода выше.

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

  • Для исследования больших наборов данных используется Pig Scripting.
  • Обеспечивает поддержку больших наборов данных для специальных запросов.
  • При прототипировании алгоритмов обработки больших массивов данных.
  • Требуется для обработки загрузки данных, чувствительных ко времени.
  • Для сбора больших объемов данных в виде журналов поиска и веб-обходов.
  • Используется там, где необходимы аналитические данные с использованием выборки.

Типы моделей данных в Apache Pig: он состоит из следующих 4 типов моделей данных:

  • Атом : это атомарное значение данных, которое используется для хранения в виде строки. Основное использование этой модели состоит в том, что ее можно использовать как число, так и строку.
  • Кортеж : это упорядоченный набор полей.
  • Сумка : это набор кортежей.
  • Карта : это набор пар ключ / значение.

РЕКОМЕНДУЕМЫЕ СТАТЬИ