Apache Pig - Execução
No capítulo anterior, explicamos como instalar o Apache Pig. Neste capítulo, discutiremos como executar o Apache Pig.
Modos de execução do Apache Pig
Você pode executar o Apache Pig em dois modos, a saber, Local Mode e HDFS mode.
Modo local
Nesse modo, todos os arquivos são instalados e executados a partir do host local e do sistema de arquivos local. Não há necessidade de Hadoop ou HDFS. Este modo é geralmente usado para fins de teste.
Modo MapReduce
O modo MapReduce é onde carregamos ou processamos os dados que existem no Hadoop File System (HDFS) usando o Apache Pig. Nesse modo, sempre que executamos as instruções Pig Latin para processar os dados, uma tarefa MapReduce é chamada no back-end para realizar uma operação específica nos dados existentes no HDFS.
Mecanismos de execução do Apache Pig
Os scripts do Apache Pig podem ser executados de três maneiras, a saber, modo interativo, modo em lote e modo integrado.
Interactive Mode(Shell Grunt) - Você pode executar o Apache Pig no modo interativo usando o shell Grunt. Neste shell, você pode inserir as instruções Pig Latin e obter a saída (usando o operador Dump).
Batch Mode (Script) - Você pode executar o Apache Pig no modo em lote, escrevendo o script Pig Latin em um único arquivo com .pig extensão.
Embedded Mode (UDF) - Apache Pig fornece a definição de nossas próprias funções (USer Dafinado Funções) em linguagens de programação como Java e como usá-las em nosso script.
Invocando o Grunt Shell
Você pode invocar o shell Grunt em um modo desejado (local / MapReduce) usando o −x opção como mostrado abaixo.
Modo local | Modo MapReduce |
---|---|
Command − $ ./pig –x local |
Command − $ ./pig -x mapreduce |
Output - |
Output - |
Qualquer um desses comandos fornece o prompt do shell Grunt conforme mostrado abaixo.
grunt>
Você pode sair do shell Grunt usando ‘ctrl + d’.
Depois de invocar o shell Grunt, você pode executar um script Pig inserindo diretamente as instruções Pig Latin nele.
grunt> customers = LOAD 'customers.txt' USING PigStorage(',');
Executando Apache Pig em modo de lote
Você pode escrever um script Pig Latin inteiro em um arquivo e executá-lo usando o –x command. Vamos supor que temos um script Pig em um arquivo chamadosample_script.pig como mostrado abaixo.
Sample_script.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING
PigStorage(',') as (id:int,name:chararray,city:chararray);
Dump student;
Agora, você pode executar o script no arquivo acima, conforme mostrado abaixo.
Modo local | Modo MapReduce |
---|---|
$ pig -x local Sample_script.pig | $ pig -x mapreduce Sample_script.pig |
Note - Discutiremos em detalhes como executar um script Pig em Bach mode e em embedded mode nos capítulos subsequentes.