В предыдущей главе мы объяснили, как установить 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 |
Выход — |
Выход — |
Команда —
$ ./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 в режиме Баха и во встроенном режиме .