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.