Maiale Apache - Grunt Shell
Dopo aver richiamato la shell Grunt, puoi eseguire i tuoi script Pig nella shell. In aggiunta a ciò, ci sono alcuni utili comandi di shell e di utilità forniti dalla shell Grunt. Questo capitolo spiega la shell e i comandi di utilità forniti dalla shell Grunt.
Note - In alcune parti di questo capitolo, i comandi come Load e Storesono usati. Fare riferimento ai rispettivi capitoli per ottenere informazioni dettagliate su di essi.
Comandi della shell
La shell Grunt di Apache Pig viene utilizzata principalmente per scrivere script latini di Pig. Prima di ciò, possiamo invocare qualsiasi comando di shell usandosh e fs.
sh Comando
Utilizzando shpossiamo richiamare qualsiasi comando di shell dalla shell di Grunt. Utilizzandosh comando dalla shell Grunt, non possiamo eseguire i comandi che fanno parte dell'ambiente shell (ex - cd).
Syntax
Di seguito è riportata la sintassi di sh comando.
grunt> sh shell command parameters
Example
Possiamo invocare il file ls comando della shell Linux dalla shell Grunt usando il shopzione come mostrato di seguito. In questo esempio, elenca i file in/pig/bin/ directory.
grunt> sh ls
pig
pig_1444799121955.log
pig.cmd
pig.py
Comando fs
Usando il fs comando, possiamo richiamare qualsiasi comando FsShell dalla shell Grunt.
Syntax
Di seguito è riportata la sintassi di fs comando.
grunt> sh File System command parameters
Example
Possiamo richiamare il comando ls di HDFS dalla shell Grunt usando il comando fs. Nell'esempio seguente, elenca i file nella directory principale di 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
Allo stesso modo, possiamo richiamare tutti gli altri comandi della shell del file system dalla shell Grunt usando il fs comando.
Comandi di utilità
La shell Grunt fornisce una serie di comandi di utilità. Questi includono comandi di utilità comeclear, help, history, quit, e set; e comandi comeexec, kill, e runper controllare Pig dal guscio Grunt. Di seguito è riportata la descrizione dei comandi di utilità forniti dalla shell Grunt.
comando chiaro
Il clear comando viene utilizzato per cancellare lo schermo della shell Grunt.
Syntax
Puoi cancellare lo schermo della shell grugnito usando il clear comando come mostrato di seguito.
grunt> clear
comando di aiuto
Il help comando ti fornisce un elenco di comandi Pig o proprietà Pig.
Usage
Puoi ottenere un elenco di comandi Pig usando il help comando come mostrato di seguito.
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 storia
Questo comando mostra un elenco di istruzioni eseguite / utilizzate finora da quando è stata invocata la vendita Grunt.
Usage
Supponiamo di aver eseguito tre istruzioni dall'apertura della 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(',');
Quindi, utilizzando il history Il comando produrrà il seguente output.
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(',');
set Command
Il set viene utilizzato per mostrare / assegnare valori alle chiavi usate in Pig.
Usage
Utilizzando questo comando, è possibile impostare i valori sulle seguenti chiavi.
Chiave | Descrizione e valori |
---|---|
default_parallel | È possibile impostare il numero di riduzioni per un lavoro di mappatura passando qualsiasi numero intero come valore a questa chiave. |
debug | Puoi disattivare o attivare la funzione di debug in Pig passando on / off a questa chiave. |
job.name | È possibile impostare il nome del lavoro sul lavoro richiesto passando un valore stringa a questa chiave. |
job.priority | È possibile impostare la priorità del lavoro su un lavoro passando uno dei seguenti valori a questa chiave:
|
stream.skippath | Per lo streaming, è possibile impostare il percorso da cui i dati non devono essere trasferiti, passando il percorso desiderato sotto forma di una stringa a questa chiave. |
esci da Command
Puoi uscire dalla shell Grunt usando questo comando.
Usage
Esci dalla shell Grunt come mostrato di seguito.
grunt> quit
Diamo ora un'occhiata ai comandi che consentono di controllare Apache Pig dalla shell Grunt.
comando exec
Usando il exec possiamo eseguire gli script Pig dalla shell Grunt.
Syntax
Di seguito è riportata la sintassi del comando di utilità exec.
grunt> exec [–param param_name = param_value] [–param_file file_name] [script]
Example
Supponiamo che ci sia un file denominato student.txt nel /pig_data/ directory di HDFS con il seguente contenuto.
Student.txt
001,Rajiv,Hyderabad
002,siddarth,Kolkata
003,Rajesh,Delhi
E, supponiamo di avere un file di script denominato sample_script.pig nel /pig_data/ directory di HDFS con il seguente contenuto.
Sample_script.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',')
as (id:int,name:chararray,city:chararray);
Dump student;
Ora, eseguiamo lo script precedente dalla shell Grunt usando il exec comando come mostrato di seguito.
grunt> exec /sample_script.pig
Output
Il exec comando esegue lo script nel file sample_script.pig. Come indicato nello script, carica il filestudent.txt file in Pig e fornisce il risultato dell'operatore Dump che mostra il seguente contenuto.
(1,Rajiv,Hyderabad)
(2,siddarth,Kolkata)
(3,Rajesh,Delhi)
kill Command
Puoi terminare un lavoro dalla shell Grunt usando questo comando.
Syntax
Di seguito è riportata la sintassi di kill comando.
grunt> kill JobId
Example
Supponiamo che ci sia un lavoro Pig in esecuzione con id Id_0055, puoi ucciderlo dalla shell Grunt usando il kill comando, come mostrato di seguito.
grunt> kill Id_0055
eseguire Command
Puoi eseguire uno script Pig dalla shell Grunt usando il run comando
Syntax
Di seguito è riportata la sintassi di run comando.
grunt> run [–param param_name = param_value] [–param_file file_name] script
Example
Supponiamo che ci sia un file denominato student.txt nel /pig_data/ directory di HDFS con il seguente contenuto.
Student.txt
001,Rajiv,Hyderabad
002,siddarth,Kolkata
003,Rajesh,Delhi
E, supponiamo di avere un file di script denominato sample_script.pig nel filesystem locale con il seguente contenuto.
Sample_script.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING
PigStorage(',') as (id:int,name:chararray,city:chararray);
Ora, eseguiamo lo script precedente dalla shell Grunt usando il comando run come mostrato di seguito.
grunt> run /sample_script.pig
Puoi vedere l'output dello script usando il file Dump operator come mostrato di seguito.
grunt> Dump;
(1,Rajiv,Hyderabad)
(2,siddarth,Kolkata)
(3,Rajesh,Delhi)
Note - La differenza tra exec e il run comando è che se usiamo run, le istruzioni dello script sono disponibili nella cronologia dei comandi.