Apache Domuz - Homurtu Kabuğu

Grunt kabuğunu çalıştırdıktan sonra, Pig komut dosyalarınızı kabukta çalıştırabilirsiniz. Buna ek olarak, Grunt kabuğu tarafından sağlanan bazı yararlı kabuk ve yardımcı program komutları vardır. Bu bölüm, Grunt kabuğu tarafından sağlanan kabuk ve yardımcı program komutlarını açıklamaktadır.

Note - Bu bölümün bazı kısımlarında aşağıdaki gibi komutlar Load ve Storekullanılmış. Bunlar hakkında ayrıntılı bilgi almak için ilgili bölümlere bakın.

Kabuk Komutları

Apache Pig'in Grunt kabuğu, çoğunlukla Pig Latince komut dosyalarını yazmak için kullanılır. Bundan önce, kullanarak herhangi bir kabuk komutunu çağırabiliriz.sh ve fs.

sh Komutu

Kullanma shkomutuyla, Grunt kabuğundan herhangi bir kabuk komutunu çağırabiliriz. Kullanmash Grunt kabuğundan gelen komut, kabuk ortamının bir parçası olan komutları yürütemiyoruz (ex - cd).

Syntax

Aşağıda verilen sözdizimi sh komut.

grunt> sh shell command parameters

Example

Çağırabiliriz ls Grunt kabuğundan Linux kabuğunun komutu, shseçeneği aşağıda gösterildiği gibi. Bu örnekte, içindeki dosyaları listeler./pig/bin/ dizin.

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

fs Komutu

Kullanmak fs komutu, Grunt kabuğundan herhangi bir FsShell komutunu çağırabiliriz.

Syntax

Aşağıda verilen sözdizimi fs komut.

grunt> sh File System command parameters

Example

HDFS'nin ls komutunu fs komutunu kullanarak Grunt kabuğundan çağırabiliriz. Aşağıdaki örnekte, HDFS kök dizinindeki dosyaları listeler.

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

Aynı şekilde, Grunt kabuğundaki diğer tüm dosya sistemi kabuk komutlarını kullanarak fs komut.

Yardımcı Program Komutları

Grunt kabuğu, bir dizi yardımcı program komutu sağlar. Bunlar, aşağıdaki gibi yardımcı program komutlarını içerir:clear, help, history, quit, ve set; ve gibi komutlarexec, kill, ve runGrunt kabuğundan Pig'i kontrol etmek için. Aşağıda, Grunt kabuğu tarafından sağlanan yardımcı program komutlarının açıklaması verilmiştir.

temizle Komutu

clear komutu Grunt kabuğunun ekranını temizlemek için kullanılır.

Syntax

Grunt shell ekranını, clear komutu aşağıda gösterildiği gibi.

grunt> clear

yardım Komutu

help komutu size Pig komutlarının veya Pig özelliklerinin bir listesini verir.

Usage

Kullanarak Pig komutlarının bir listesini alabilirsiniz. help komutu aşağıda gösterildiği gibi.

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.

tarih Komutanlığı

Bu komut, Grunt satışının başlatılmasından bu yana şu ana kadar yürütülen / kullanılan ifadelerin bir listesini görüntüler.

Usage

Grunt kabuğunu açtığımızdan beri üç ifade yürüttüğümüzü varsayalım.

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

Daha sonra history komutu aşağıdaki çıktıyı üretecektir.

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

Komut ayarla

set komutu, Pig'de kullanılan tuşlara değerleri göstermek / atamak için kullanılır.

Usage

Bu komutu kullanarak aşağıdaki tuşlara değerler ayarlayabilirsiniz.

Anahtar Açıklama ve değerler
default_parallel Herhangi bir tam sayıyı bu anahtara bir değer olarak geçirerek bir harita işi için azaltıcı sayısını ayarlayabilirsiniz.
debug Bu anahtara açıp / kapatarak Pig'deki hata ayıklayıcı freature'u kapatabilir veya açabilirsiniz.
job.name Bu anahtara bir dize değeri ileterek İş adını gerekli işe ayarlayabilirsiniz.
job.priority

Aşağıdaki değerlerden birini bu anahtara geçirerek iş önceliğini bir işe ayarlayabilirsiniz -

  • very_low
  • low
  • normal
  • high
  • very_high
stream.skippath Akış için, bir dize biçiminde istenen yolu bu anahtara ileterek verilerin aktarılmayacağı yolu ayarlayabilirsiniz.

Komutu bırak

Bu komutu kullanarak Grunt kabuğundan çıkabilirsiniz.

Usage

Aşağıda gösterildiği gibi Grunt kabuğundan çıkın.

grunt> quit

Şimdi Apache Pig'i Grunt kabuğundan kontrol edebileceğiniz komutlara bir göz atalım.

exec Komutu

Kullanmak exec komutu, Grunt kabuğundan Pig betiklerini çalıştırabiliriz.

Syntax

Aşağıda, yardımcı program komutunun sözdizimi verilmiştir. exec.

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

Example

Adında bir dosya olduğunu varsayalım student.txt içinde /pig_data/ aşağıdaki içeriğe sahip HDFS dizini.

Student.txt

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

Ve adında bir komut dosyamız olduğunu varsayalım. sample_script.pig içinde /pig_data/ aşağıdaki içeriğe sahip HDFS dizini.

Sample_script.pig

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

Şimdi, yukarıdaki betiği Grunt kabuğundan çalıştıralım. exec komutu aşağıda gösterildiği gibi.

grunt> exec /sample_script.pig

Output

exec komutu, komut dosyasını sample_script.pig. Komut dosyasında belirtildiği gibi,student.txt dosyasını Pig'e aktarır ve size aşağıdaki içeriği görüntüleyen Dump işlecinin sonucunu verir.

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

Komutu öldür

Bu komutu kullanarak Grunt kabuğundan bir işi öldürebilirsiniz.

Syntax

Aşağıda verilen sözdizimi kill komut.

grunt> kill JobId

Example

Kimliği olan çalışan bir Pig işi olduğunu varsayalım Id_0055, onu Grunt kabuğundan kill komutu aşağıda gösterildiği gibi.

grunt> kill Id_0055

Komutu çalıştır

Grunt kabuğundan bir Pig komut dosyası çalıştırabilirsiniz. run komut

Syntax

Aşağıda verilen sözdizimi run komut.

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

Example

Adında bir dosya olduğunu varsayalım student.txt içinde /pig_data/ aşağıdaki içeriğe sahip HDFS dizini.

Student.txt

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

Ve adında bir komut dosyamız olduğunu varsayalım. sample_script.pig aşağıdaki içeriğe sahip yerel dosya sisteminde.

Sample_script.pig

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

Şimdi, yukarıdaki betiği aşağıda gösterildiği gibi çalıştır komutunu kullanarak Grunt kabuğundan çalıştıralım.

grunt> run /sample_script.pig

Komut dosyasının çıktısını, Dump operator Aşağıda gösterildiği gibi.

grunt> Dump;

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

Note - arasındaki fark exec ve run komut, eğer kullanırsak run, komut dosyasındaki ifadeler komut geçmişinde mevcuttur.