Cerdo Apache - Grunt Shell

Después de invocar el shell Grunt, puede ejecutar sus scripts de Pig en el shell. Además de eso, hay ciertos comandos útiles y de utilidad proporcionados por el shell Grunt. Este capítulo explica el shell y los comandos de utilidad proporcionados por el shell Grunt.

Note - En algunas partes de este capítulo, los comandos como Load y Storeson usados. Consulte los capítulos respectivos para obtener información detallada sobre ellos.

Comandos de Shell

El shell Grunt de Apache Pig se utiliza principalmente para escribir scripts de Pig Latin. Antes de eso, podemos invocar cualquier comando de shell usandosh y fs.

comando sh

Utilizando shcomando, podemos invocar cualquier comando de shell desde el shell Grunt. Utilizandosh comando desde el shell Grunt, no podemos ejecutar los comandos que son parte del entorno del shell (ex - cd).

Syntax

A continuación se muestra la sintaxis de sh mando.

grunt> sh shell command parameters

Example

Podemos invocar el ls comando del shell de Linux desde el shell Grunt usando el shopción como se muestra a continuación. En este ejemplo, enumera los archivos en el/pig/bin/ directorio.

grunt> sh ls
   
pig 
pig_1444799121955.log 
pig.cmd 
pig.py

comando fs

Utilizando la fs comando, podemos invocar cualquier comando FsShell desde el shell Grunt.

Syntax

A continuación se muestra la sintaxis de fs mando.

grunt> sh File System command parameters

Example

Podemos invocar el comando ls de HDFS desde el shell Grunt usando el comando fs. En el siguiente ejemplo, enumera los archivos en el directorio raíz de HDFS.

grunt> fs –ls
  
Found 3 items
drwxrwxrwx   - Hadoop supergroup          0 2015-09-08 14:13 Hbase
drwxr-xr-x   - Hadoop supergroup          0 2015-09-09 14:52 seqgen_data
drwxr-xr-x   - Hadoop supergroup          0 2015-09-08 11:30 twitter_data

De la misma manera, podemos invocar todos los demás comandos del shell del sistema de archivos desde el shell Grunt usando el fs mando.

Comandos de utilidad

El shell Grunt proporciona un conjunto de comandos de utilidad. Estos incluyen comandos de utilidad comoclear, help, history, quit, y set; y comandos comoexec, kill, y runpara controlar a Pig desde el caparazón Grunt. A continuación se muestra la descripción de los comandos de utilidad proporcionados por el shell Grunt.

comando claro

los clear El comando se usa para limpiar la pantalla del shell Grunt.

Syntax

Puede borrar la pantalla del caparazón gruñido usando el clear comando como se muestra a continuación.

grunt> clear

comando de ayuda

los help comando le da una lista de comandos Pig o propiedades Pig.

Usage

Puede obtener una lista de comandos de Pig usando el help comando como se muestra a continuación.

grunt> help

Commands: <pig latin statement>; - See the PigLatin manual for details:
http://hadoop.apache.org/pig
  
File system commands:fs <fs arguments> - Equivalent to Hadoop dfs  command:
http://hadoop.apache.org/common/docs/current/hdfs_shell.html
	 
Diagnostic Commands:describe <alias>[::<alias] - Show the schema for the alias.
Inner aliases can be described as A::B.
    explain [-script <pigscript>] [-out <path>] [-brief] [-dot|-xml] 
       [-param <param_name>=<pCram_value>]
       [-param_file <file_name>] [<alias>] - 
       Show the execution plan to compute the alias or for entire script.
       -script - Explain the entire script.
       -out - Store the output into directory rather than print to stdout.
       -brief - Don't expand nested plans (presenting a smaller graph for overview).
       -dot - Generate the output in .dot format. Default is text format.
       -xml - Generate the output in .xml format. Default is text format.
       -param <param_name - See parameter substitution for details.
       -param_file <file_name> - See parameter substitution for details.
       alias - Alias to explain.
       dump <alias> - Compute the alias and writes the results to stdout.

Utility Commands: exec [-param <param_name>=param_value] [-param_file <file_name>] <script> -
       Execute the script with access to grunt environment including aliases.
       -param <param_name - See parameter substitution for details.
       -param_file <file_name> - See parameter substitution for details.
       script - Script to be executed.
    run [-param <param_name>=param_value] [-param_file <file_name>] <script> -
       Execute the script with access to grunt environment.
		 -param <param_name - See parameter substitution for details.         
       -param_file <file_name> - See parameter substitution for details.
       script - Script to be executed.
    sh  <shell command> - Invoke a shell command.
    kill <job_id> - Kill the hadoop job specified by the hadoop job id.
    set <key> <value> - Provide execution parameters to Pig. Keys and values are case sensitive.
       The following keys are supported:
       default_parallel - Script-level reduce parallelism. Basic input size heuristics used 
       by default.
       debug - Set debug on or off. Default is off.
       job.name - Single-quoted name for jobs. Default is PigLatin:<script name>     
       job.priority - Priority for jobs. Values: very_low, low, normal, high, very_high.
       Default is normal stream.skippath - String that contains the path.
       This is used by streaming any hadoop property.
    help - Display this message.
    history [-n] - Display the list statements in cache.
       -n Hide line numbers.
    quit - Quit the grunt shell.

comando de historia

Este comando muestra una lista de declaraciones ejecutadas / utilizadas hasta ahora desde que se invoca la venta de Grunt.

Usage

Supongamos que hemos ejecutado tres sentencias desde que abrimos el shell Grunt.

grunt> customers = LOAD 'hdfs://localhost:9000/pig_data/customers.txt' USING PigStorage(',');
 
grunt> orders = LOAD 'hdfs://localhost:9000/pig_data/orders.txt' USING PigStorage(',');
 
grunt> student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',');

Luego, usando el history El comando producirá la siguiente salida.

grunt> history

customers = LOAD 'hdfs://localhost:9000/pig_data/customers.txt' USING PigStorage(','); 
  
orders = LOAD 'hdfs://localhost:9000/pig_data/orders.txt' USING PigStorage(',');
   
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',');

establecer comando

los set El comando se utiliza para mostrar / asignar valores a las claves utilizadas en Pig.

Usage

Con este comando, puede establecer valores en las siguientes claves.

Llave Descripción y valores
default_parallel Puede establecer el número de reductores para un trabajo de mapa pasando cualquier número entero como valor a esta clave.
debug Puede desactivar o activar la función de depuración en Pig pasando on / off a esta tecla.
job.name Puede establecer el nombre del trabajo en el trabajo requerido pasando un valor de cadena a esta clave.
job.priority

Puede establecer la prioridad del trabajo en un trabajo pasando uno de los siguientes valores a esta clave:

  • very_low
  • low
  • normal
  • high
  • very_high
stream.skippath Para la transmisión, puede establecer la ruta desde donde no se transferirán los datos, pasando la ruta deseada en forma de cadena a esta clave.

salir de comando

Puede salir del shell Grunt con este comando.

Usage

Salga del shell Grunt como se muestra a continuación.

grunt> quit

Echemos ahora un vistazo a los comandos con los que puede controlar Apache Pig desde el shell Grunt.

comando ejecutivo

Utilizando la exec comando, podemos ejecutar scripts de Pig desde el shell Grunt.

Syntax

A continuación se muestra la sintaxis del comando de utilidad exec.

grunt> exec [–param param_name = param_value] [–param_file file_name] [script]

Example

Supongamos que hay un archivo llamado student.txt en el /pig_data/ directorio de HDFS con el siguiente contenido.

Student.txt

001,Rajiv,Hyderabad
002,siddarth,Kolkata
003,Rajesh,Delhi

Y supongamos que tenemos un archivo de script llamado sample_script.pig en el /pig_data/ directorio de HDFS con el siguiente contenido.

Sample_script.pig

student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',') 
   as (id:int,name:chararray,city:chararray);
  
Dump student;

Ahora, ejecutemos el script anterior desde el shell Grunt usando el exec comando como se muestra a continuación.

grunt> exec /sample_script.pig

Output

los exec comando ejecuta el script en el sample_script.pig. Como se indica en el guión, carga elstudent.txt en Pig y le da el resultado del operador Dump que muestra el siguiente contenido.

(1,Rajiv,Hyderabad)
(2,siddarth,Kolkata)
(3,Rajesh,Delhi)

Matar comando

Puede eliminar un trabajo desde el shell Grunt con este comando.

Syntax

A continuación se muestra la sintaxis de la kill mando.

grunt> kill JobId

Example

Supongamos que hay un trabajo de Pig en ejecución que tiene id Id_0055, puedes matarlo desde el caparazón Grunt usando el kill comando, como se muestra a continuación.

grunt> kill Id_0055

ejecutar comando

Puede ejecutar un script de Pig desde el shell Grunt usando el run mando

Syntax

A continuación se muestra la sintaxis de la run mando.

grunt> run [–param param_name = param_value] [–param_file file_name] script

Example

Supongamos que hay un archivo llamado student.txt en el /pig_data/ directorio de HDFS con el siguiente contenido.

Student.txt

001,Rajiv,Hyderabad
002,siddarth,Kolkata
003,Rajesh,Delhi

Y supongamos que tenemos un archivo de script llamado sample_script.pig en el sistema de archivos local con el siguiente contenido.

Sample_script.pig

student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING
   PigStorage(',') as (id:int,name:chararray,city:chararray);

Ahora, ejecutemos el script anterior desde el shell Grunt usando el comando de ejecución como se muestra a continuación.

grunt> run /sample_script.pig

Puede ver la salida del script usando el Dump operator Como se muestra abajo.

grunt> Dump;

(1,Rajiv,Hyderabad)
(2,siddarth,Kolkata)
(3,Rajesh,Delhi)

Note - La diferencia entre exec y el run comando es que si usamos run, las declaraciones del script están disponibles en el historial de comandos.