Введение в команды Pig

Apache Pig - инструмент / платформа, которая используется для анализа больших наборов данных и выполнения длинных серий операций с данными. Свинья используется с Hadoop. Все сценарии PIG внутренне преобразуются в задачи сокращения карты, а затем выполняются. Он может обрабатывать структурированные, полуструктурированные и неструктурированные данные. Свинья хранит, его результат в HDFS. В этой статье мы узнаем больше типов команд Pig.

Вот некоторые характеристики свиньи:

  1. Самооптимизация: Свинья может оптимизировать выполнение заданий, у пользователя есть свобода сосредоточиться на семантике.
  2. Простота программирования: Pig предоставляет язык / диалект высокого уровня, известный как Pig Latin, который легко писать. Pig Latin предоставляет множество операторов, которые программист может использовать для обработки данных. Программист имеет возможность писать свои собственные функции.
  3. Расширяемость: Pig облегчает создание пользовательской функции, которая называется UDF (пользовательские функции), которая позволяет программистам быстро и легко выполнять любые требования к обработке. Скрипт Pig работает на оболочке, известной как хрюканье.

Почему команды свиней?

Программисты, которые плохо разбираются в Java, обычно испытывают трудности при написании программ на Hadoop, то есть при написании задач сокращения карт. Для них Pig Latin, который очень похож на язык SQL, является благом. Подход с несколькими запросами уменьшает длину кода.
Так что в целом это лаконичный и эффективный способ программирования. Команды Pig могут вызывать код на многих языках, таких как JRuby, Jython и Java.

Архитектура Команды Свиньи

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

Модель данных Pig-Latin полностью вложена, и она допускает сложные типы данных, такие как map и tuple.

Любое отдельное значение языка Pig Latin (независимо от типа данных) известно как Atom.

Основные команды Pig

Давайте посмотрим на некоторые команды Basic Pig, которые приведены ниже:

1. Fs: это будет список всех файлов в HDFS

grunt> fs –ls

2. Очистить: это очистит интерактивную оболочку Grunt.

хрюкать> ясно

3. История:

Эта команда показывает команды, выполненные до сих пор.
ворчать> история

4. Чтение данных. Предполагается, что данные находятся в HDFS, и нам нужно прочитать данные в Pig.

grunt> College_students = LOAD 'hdfs: // localhost: 9000 / pig_data / College_data.txt'

ИСПОЛЬЗОВАНИЕ PigStorage (', ')

как (id: int, имя: chararray, фамилия: chararray, телефон: chararray,

город: chararray);

PigStorage () - это функция, которая загружает и сохраняет данные в виде структурированных текстовых файлов.

5. Хранение данных: Оператор хранилища используется для хранения обработанных / загруженных данных.

grunt> STORE College_students INTO 'hdfs: // localhost: 9000 / pig_Output /' USING PigStorage (', ');

Здесь «/ pig_Output /» - это каталог, в котором необходимо сохранить отношение.

6. Оператор дампа: эта команда используется для отображения результатов на экране. Обычно это помогает при отладке.

grunt> Дамп College_students;

7. Опишите оператор: он помогает программисту просматривать схему отношения.

ворчать> описывать College_students;

8. Объясните: эта команда помогает просмотреть логический, физический и план сокращения планов.

ворчать, > объяснять колледж

9. Оператор Illustrate: дает пошаговое выполнение операторов в командах Pig.

ворчать> проиллюстрировать College_students;

Промежуточные команды Pig

1. Группа: Эта команда Pig работает для группировки данных с одним и тем же ключом.

grunt> group_data = GROUP College_students по имени;

2. COGROUP: работает аналогично групповому оператору. Основное различие между оператором Group и Cogroup заключается в том, что оператор group обычно используется с одним отношением, а cogroup - с несколькими отношениями.

3. Присоединиться: используется для объединения двух или более отношений.

Пример: для выполнения самосоединения, скажем, отношение «клиент» загружается из команд HDFS tp pig в двух отношениях «клиенты1» и «клиенты2».

grunt> Customers3 = ПРИСОЕДИНИТЬМЯ customer1 BY id, Customers2 BY id;

Присоединение может быть самостоятельным, внутренним, внешним.

4. Cross: эта команда pig вычисляет перекрестное произведение двух или более отношений.

grunt> cross_data = CROSS клиенты, заказы;

5. Союз: объединяет два отношения. Условием объединения является то, что столбцы и домены отношения должны быть идентичными.

grunt> student = UNION student1, student2;

Расширенные команды свиней

Давайте посмотрим на некоторые из продвинутых команд Pig, которые приведены ниже:

1. Фильтр: помогает отфильтровать кортежи вне зависимости от определенных условий.

filter_data = FILTER College_students BY city == 'Ченнай';

2. Отличительный: Это помогает в удалении избыточных кортежей из отношения.

grunt> Different_data = DISTINCT College_students;

Эта фильтрация создаст новое имя отношения «Different_data»

3. Foreach: это помогает в создании преобразования данных на основе данных столбца.

grunt> foreach_data = FOREACH student_details GENERATE id, возраст, город;

Он получит значения id, возраста и города каждого учащегося из отношения student_details и, следовательно, сохранит его в другом отношении с именем foreach_data.

4. Упорядочить по: эта команда отображает результат в отсортированном порядке на основе одного или нескольких полей.

grunt> order_by_data = ORDER College_students BY возраст DESC;

Это позволит отсортировать отношение «College_students» в порядке убывания по возрасту.

5. Лимит: эта команда ограничена нет. кортежей из отношения.

grunt> limit_data = LIMIT student_details 4;

Советы и приемы

Ниже приведены различные советы и хитрости команд Pig: -

1. Включите сжатие на вашем входе и выходе:

установить input.compression.enabled true;

установить output.compression.enabled true;

Вышеупомянутые строки кода должны находиться в начале скрипта, чтобы команды Pig могли читать сжатые файлы или генерировать сжатые файлы в качестве вывода.

2. Присоединяйтесь к нескольким отношениям:

Для выполнения левого соединения, скажем, трех отношений (input1, input2, input3) необходимо выбрать SQL. Это связано с тем, что Pig не поддерживает внешнее соединение для более чем двух таблиц.

Скорее вы выполняете оставленный, чтобы присоединиться в двух шагах как:

data1 = JOIN input1 BY ключ ВЛЕВО, input2 BY ключ;

data2 = JOIN data1 BY input1 :: key LEFT, input3 BY key;

Это означает два задания по уменьшению карты.

Для более эффективного выполнения вышеуказанной задачи можно выбрать «Cogroup». Cogroup может вступать в несколько отношений. Cogroup по умолчанию выполняет внешнее соединение.

Вывод

Свинья - это процедурный язык, обычно используемый учеными-данными для выполнения специальной обработки и быстрого прототипирования. Это отличный ETL и инструмент для обработки больших данных. Скриптовые сценарии могут вызываться другими языками и наоборот. Следовательно, команды Pig могут использоваться для создания больших и сложных приложений.

Рекомендуемые статьи

Это было руководство к командам Свиньи. Здесь мы обсудили как основные, так и расширенные команды Pig и некоторые непосредственные команды Pig. Вы также можете посмотреть следующую статью, чтобы узнать больше -

  1. Adobe Photoshop Commands
  2. Табличные команды
  3. Шпаргалка SQL (команды, бесплатные советы и хитрости)
  4. Команды VBA - последние штрихи
  5. Различные операции, связанные с кортежами