Apache Pig – Grunt Shell

Después de invocar el shell Grunt, puede ejecutar scripts de Pig en el shell. Además de esto, el shell Grunt proporciona una serie de comandos útiles y de shell. Este capítulo explica los comandos y las utilidades del shell que proporciona el shell Grunt.

Nota – En algunas partes de este capítulo, comandos como Carga y Puntaje son usados. Consulte los capítulos respectivos para obtener detalles sobre ellos.

Comandos de Shell

El contenedor Grunt Apache Pig se utiliza principalmente para scripts de Pig Latin. Hasta entonces, podemos invocar cualquier comando de shell usando w y fs

Comando Sh

A través de w comando, podemos invocar cualquier comando de shell desde el shell Grunt. A través de w desde el shell Grunt, no podemos ejecutar comandos que son parte del entorno del shell (anterior – DISCOS COMPACTOS).

Sintaxis

A continuación se muestra la sintaxis w equipo.

grunt> sh shell command parameters

Ejemplo

Podemos llamar ls un comando de shell de Linux desde el shell de Grunt con w opción como se muestra a continuación. En este ejemplo, enumera los archivos en / cerdo / papelera / catalogar.

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

comando fs

Usando fs comando, podemos invocar cualquier comando FsShell desde dentro del shell Grunt.

Sintaxis

A continuación se muestra la sintaxis fs equipo.

grunt> sh File System command parameters

Ejemplo

Podemos invocar el comando ls HDFS desde el shell de Grunt usando el comando fs. El siguiente ejemplo enumera 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 comando fs equipo.

Comandos de utilidad

El shell Grunt proporciona un conjunto de comandos de utilidad. Estos incluyen comandos de utilidad como claro, ayuda, historia, salir, y colocar; y comandos como ejecutivo, matar, y kilometraje para controlar a Pig desde el caparazón Grunt. A continuación se muestra una descripción de los comandos de utilidad proporcionados por el shell Grunt.

comando claro

EN Puramente El comando se usa para limpiar la pantalla del shell Grunt.

Sintaxis

Puede borrar la pantalla del grunt shell usando Puramente Como se muestra abajo.

grunt> clear

equipo de ayuda

EN ayuda comando le da una lista de comandos de Pig o propiedades de Pig.

usando

Puede obtener una lista de comandos de Pig usando ayuda Como se muestra abajo.

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. 

equipo de historia

Este comando muestra una lista de declaraciones ejecutadas / utilizadas desde la llamada a Grunt sell.

usando

Digamos 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 historia el comando dará el siguiente resultado.

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(',');
 

instalar comando

EN colocar El comando se usa para mostrar / asignar valores a las teclas utilizadas en Pig.

usando

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

Llave Descripción y valores
default_parallel Puede establecer el número de reductores para especificar el mapa pasando cualquier entero como valor a esta clave.
depurar Puede deshabilitar o habilitar el depurador en Pig pasando / desmarcando esta clave.
título profesional Puede especificar el nombre del trabajo para el trabajo requerido pasando un valor de cadena a esta clave.
job.priority

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

  • muy bajo
  • bajo
  • normal
  • alto
  • muy alto
stream.skippath Para la transmisión, puede especificar una ruta donde no se transmitirán datos pasando la ruta deseada como una cadena a esta clave.

comando de salida

Puede salir del shell Grunt con este comando.

usando

Salga del caparazón 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

Usando ejecutivo, podemos ejecutar scripts de Pig desde el shell de Grunt.

Sintaxis

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

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

Ejemplo

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

Student.txt

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

Supongamos que tenemos un archivo de script llamado sample_script.pig en / pig_data / Directorio 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 ejecutivo Como se muestra abajo.

grunt> exec /sample_script.pig

Salida

EN ejecutivo el comando ejecuta el script en sample_script.pig… Como se indica en el script, carga student.txt en Pig y genera el resultado de una declaración Dump que muestra el siguiente contenido.

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

comando de matar

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

Sintaxis

A continuación se muestra la sintaxis asesinato equipo.

grunt> kill JobId

Ejemplo

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

grunt> kill Id_0055

Comando de ejecución

Puede ejecutar el script Pig desde el shell Grunt usando el comando kilometraje equipo

Sintaxis

A continuación se muestra la sintaxis kilometraje equipo.

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

Ejemplo

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

Student.txt

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

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 de Grunt usando el comando de ejecución como se muestra a continuación.

grunt> run /sample_script.pig

Puede ver el resultado del script usando Operador de volcado Como se muestra abajo.

grunt> Dump;

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

Nota – Diferencia entre ejecutivo y kilometraje el comando es que si usamos kilometraje, las sentencias de script están disponibles en el historial de comandos.

🚫