Apache Pig - Казнь

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

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

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

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

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

Режим MapReduce

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

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

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

  • Interactive Mode(Оболочка Grunt) - Вы можете запустить Apache Pig в интерактивном режиме с помощью оболочки Grunt. В этой оболочке вы можете ввести операторы Pig Latin и получить результат (с помощью оператора Dump).

  • Batch Mode (Сценарий) - Вы можете запустить Apache Pig в пакетном режиме, написав сценарий Pig Latin в одном файле с .pig расширение.

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

Вызов Grunt Shell

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

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

Command −

$ ./pig –x местный

Command −

$ ./pig -x mapreduce

Output -

Output -

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

grunt>

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

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

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

Запуск Apache Pig в пакетном режиме

Вы можете записать в файл весь сценарий Pig Latin и выполнить его с помощью –x command. Предположим, у нас есть сценарий 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 местный Sample_script.pig $ pig -x mapreduce Sample_script.pig

Note - Мы подробно обсудим, как запустить скрипт Pig в Bach mode И в embedded mode в последующих главах.