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 в последующих главах.