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:
|
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.