Учебники

Apache Pig — Казнь

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

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

Вы можете запустить Apache Pig в двух режимах, а именно, в локальном режиме и в режиме HDFS .

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

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

Режим MapReduce

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

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

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

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

  • Пакетный режим (скрипт) — вы можете запустить Apache Pig в пакетном режиме, написав скрипт Pig Latin в одном файле с расширением .pig .

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

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

Пакетный режим (скрипт) — вы можете запустить Apache Pig в пакетном режиме, написав скрипт Pig Latin в одном файле с расширением .pig .

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

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

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

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

Команда —

$ ./pig –x local

Команда —

$ ./pig -x mapreduce

Выход

Выход в локальном режиме

Выход

Вывод режима MapReduce

Команда —

$ ./pig –x local

Команда —

$ ./pig -x mapreduce

Выход

Выход

Любая из этих команд выдает приглашение оболочки Grunt, как показано ниже.

grunt>

Вы можете выйти из оболочки Grunt, используя ctrl + d.

После вызова оболочки Grunt вы можете выполнить скрипт Pig, непосредственно введя в него операторы Pig Latin.

grunt> customers = LOAD 'customers.txt' USING PigStorage(',');

Выполнение Apache Pig в пакетном режиме

Вы можете написать весь скрипт Pig Latin в файле и выполнить его с помощью команды –x . Предположим, у нас есть скрипт Pig в файле с именем sample_script.pig, как показано ниже.

Sample_script.pig

student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING
   PigStorage(',') as (id:int,name:chararray,city:chararray);
  
Dump student;

Теперь вы можете выполнить скрипт в вышеуказанном файле, как показано ниже.

Локальный режим Режим MapReduce
$ pig -x local Sample_script.pig $ pig -x mapreduce Sample_script.pig

Примечание. В последующих главах мы подробно обсудим, как запускать сценарий Pig в режиме Баха и во встроенном режиме .