Pig
Apache Pig — высокоуровневая вычислительная платформа для анализа больших наборов данных, развёртываемая поверх Apache Hadoop и использующая скриптовый язык Pig Latin, который компилируется в задания MapReduce либо в планы, исполняемые движками Apache Tez и Apache Spark[1]. Платформа абстрагирует низкоуровневые детали MapReduce-программирования, позволяя описывать сложные трансформации данных с помощью декларативно-процедурного синтаксиса, схожего по выразительности с SQL[2].
Общие сведения
| Apache Pig | |
|---|---|
| Тип | Платформа обработки больших данных |
| Состояние | Активно разрабатывается и обновляется |
Функции
Apache Pig предоставляет разработчикам и аналитикам ряд возможностей, упрощающих подготовку и обработку данных в распределённых средах:
- Язык Pig Latin. Процедурный, ориентированный на поток данных язык, в котором последовательность операторов описывает цепочку преобразований набора данных.
- Гибкая работа с данными. Поддержка структурированных, полуструктурированных и неструктурированных форматов, работа поверх HDFS[1].
- Богатые типы данных. Примитивы (int, long, float, double, bytearray, chararray) и сложные объекты — кортежи, мешки и карты.
- Оптимизация выполнения. Движок Pig преобразует скрипт в цепочку MapReduce-задач (или план для Tez/Spark) и применяет оптимизации — устранение лишних сортировок, уплотнение пайплайна и др.
- Расширяемость. Возможность подключения пользовательских функций (UDF) на Java, Python и других языках[1].
- Сокращение объёма кода. Эквивалентная логика, требующая ~200 строк Java, нередко укладывается в десяток строк Pig Latin.
- Интеграция с экосистемой Hadoop, включая HDFS, Apache Hive, Apache HBase, Tez и Spark[2].
Операторы Pig Latin
Наиболее употребительные операторы: LOAD, STORE, FILTER, FOREACH, GROUP, JOIN, ORDER BY, DISTINCT, UNION, SPLIT, DUMP, DESCRIBE, EXPLAIN и ILLUSTRATE[3][4].[5]
Модификатор FLATTEN, используемый внутри конструкции FOREACH … GENERATE для разворачивания вложенных сумок и кортежей, не считается самостоятельным оператором[6].
Режимы выполнения
- Local mode — запуск в одной JVM на локальной файловой системе; подходит для разработки и небольших наборов данных[1][7].
- MapReduce mode — стандартный режим для кластеров Hadoop: скрипт транслируется в MapReduce-джобы и выполняется распределённо[7][8].
- Tez mode / Tez local — выполнение плана на движке Apache Tez, что уменьшает количество дисковых проходов и ускоряет обработку[7].
- Spark mode — использование Apache Spark как исполнительного движка для in-memory-обработки.
Примеры использования
- ETL-процессы. Комбинация операторов
LOAD → FILTER → STOREпозволяет извлечь данные, очистить их (например,age > 30) и сохранить результат в HDFS. - Анализ лог-файлов. Выражением
MATCHES '.ERROR.'легко выделить записи об ошибках и подсчитать их число при помощиGROUP … COUNT()[9]. - Объединение источников данных. Оператор
JOIN customers BY id, orders BY customeridгруппирует информацию о клиентах и их заказах, поддерживая внутренние и внешние соединения. - Агрегации. Связка
GROUP BY city → AVG()используется для расчёта, к примеру, среднего возраста сотрудников по городам[10]. - Базовый анализ тональности. После токенизации твитов функцией
TOKENIZE()и разворачивания слов черезFLATTENPig объединяет их со словарём тональности и классифицирует сообщения как позитивные или негативные.
Примечания
- ↑ 1 2 3 4 Apache Pig: everything you need to know about the Hadoop programming language. datascientest.com. Дата обращения: 20 июня 2025.
- ↑ 1 2 Introduction to Apache Pig - GeeksforGeeks. geeksforgeeks.org. Дата обращения: 20 июня 2025.
- ↑ Apache Pig - Краткое руководство - CoderLessons.com. coderlessons.com. Дата обращения: 20 июня 2025.
- ↑ Hive vs Pig. На что мне столько ETL? / Хабр. habr.com. Дата обращения: 20 июня 2025.
- ↑ Spec-Zone.ru. spec-zone.ru. Дата обращения: 20 июня 2025.
- ↑ asp.net - INSERT stored procedure does not work? - Stack Overflow. Stack Overflow. Дата обращения: 20 июня 2025.
- ↑ 1 2 3 Getting Started. apache.org. Дата обращения: 20 июня 2025.
- ↑ Operators in Apache Pig: Part 1- Relational Operators - Edureka. edureka.co. Дата обращения: 20 июня 2025.
- ↑ Apache Pig Architecture: Features, Components & Uses. upgrad.com. Дата обращения: 20 июня 2025.
- ↑ Mastering Apache Pig for Big Data. numberanalytics.com. Дата обращения: 20 июня 2025.
| Правообладателем данного материала является АНО «Интернет-энциклопедия «РУВИКИ». Использование данного материала на других сайтах возможно только с согласия АНО «Интернет-энциклопедия «РУВИКИ». |