Apache Pig - Grunt Shell
Sau khi gọi Grunt shell, bạn có thể chạy các tập lệnh Pig của mình trong shell. Ngoài ra, còn có một số lệnh hữu ích và tiện ích nhất định được cung cấp bởi Grunt shell. Chương này giải thích về shell và các lệnh tiện ích do Grunt shell cung cấp.
Note - Trong một số phần của chương này, các lệnh như Load và Stoređược sử dụng. Tham khảo các chương tương ứng để biết thông tin chi tiết về chúng.
Lệnh Shell
Vỏ Grunt của Apache Pig chủ yếu được sử dụng để viết các chữ viết Latin của Pig. Trước đó, chúng ta có thể gọi bất kỳ lệnh shell nào bằng cách sử dụngsh và fs.
Lệnh sh
Sử dụng shlệnh, chúng ta có thể gọi bất kỳ lệnh shell nào từ shell Grunt. Sử dụngsh lệnh từ shell Grunt, chúng tôi không thể thực hiện các lệnh là một phần của môi trường shell (ex - cd).
Syntax
Dưới đây là cú pháp của sh chỉ huy.
grunt> sh shell command parameters
Example
Chúng ta có thể gọi ls lệnh của Linux shell từ Grunt shell bằng cách sử dụng shtùy chọn như hình dưới đây. Trong ví dụ này, nó liệt kê các tệp trong/pig/bin/ danh mục.
grunt> sh ls
pig
pig_1444799121955.log
pig.cmd
pig.py
Lệnh fs
Sử dụng fs lệnh, chúng ta có thể gọi bất kỳ lệnh FsShell nào từ Grunt shell.
Syntax
Dưới đây là cú pháp của fs chỉ huy.
grunt> sh File System command parameters
Example
Chúng ta có thể gọi lệnh ls của HDFS từ Grunt shell bằng lệnh fs. Trong ví dụ sau, nó liệt kê các tệp trong thư mục gốc 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
Theo cách tương tự, chúng ta có thể gọi tất cả các lệnh shell của hệ thống tệp khác từ Grunt shell bằng cách sử dụng fs chỉ huy.
Lệnh Tiện ích
Grunt shell cung cấp một tập hợp các lệnh tiện ích. Chúng bao gồm các lệnh tiện ích nhưclear, help, history, quit, và set; và các lệnh nhưexec, kill, và runđể điều khiển Pig khỏi vỏ Grunt. Dưới đây là mô tả của các lệnh tiện ích được cung cấp bởi Grunt shell.
lệnh rõ ràng
Các clear lệnh được sử dụng để xóa màn hình của Grunt shell.
Syntax
Bạn có thể xóa màn hình của vỏ grunt bằng cách sử dụng clear lệnh như hình dưới đây.
grunt> clear
trợ giúp Lệnh
Các help lệnh cung cấp cho bạn danh sách các lệnh Pig hoặc thuộc tính Pig.
Usage
Bạn có thể nhận danh sách các lệnh Pig bằng cách sử dụng help lệnh như hình dưới đây.
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.
lệnh lịch sử
Lệnh này hiển thị danh sách các câu lệnh được thực thi / sử dụng cho đến nay kể từ khi lệnh bán Grunt được gọi.
Usage
Giả sử chúng ta đã thực hiện ba câu lệnh kể từ khi mở Grunt shell.
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(',');
Sau đó, sử dụng history lệnh sẽ tạo ra kết quả sau.
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(',');
đặt lệnh
Các set lệnh được sử dụng để hiển thị / gán giá trị cho các khóa được sử dụng trong Pig.
Usage
Sử dụng lệnh này, bạn có thể đặt giá trị cho các khóa sau.
Chìa khóa | Mô tả và giá trị |
---|---|
default_parallel | Bạn có thể đặt số lượng bộ giảm bớt cho công việc bản đồ bằng cách chuyển bất kỳ số nguyên nào làm giá trị cho khóa này. |
debug | Bạn có thể tắt hoặc bật tính năng gỡ lỗi trong Pig bằng cách bật / tắt cho phím này. |
job.name | Bạn có thể đặt Tên công việc cho công việc được yêu cầu bằng cách chuyển một giá trị chuỗi vào khóa này. |
job.priority | Bạn có thể đặt mức độ ưu tiên công việc cho một công việc bằng cách chuyển một trong các giá trị sau vào khóa này:
|
stream.skippath | Để truyền trực tuyến, bạn có thể đặt đường dẫn từ nơi dữ liệu không được truyền, bằng cách chuyển đường dẫn mong muốn dưới dạng một chuỗi tới khóa này. |
bỏ Command
Bạn có thể thoát khỏi trình bao Grunt bằng lệnh này.
Usage
Thoát khỏi vỏ Grunt như hình dưới đây.
grunt> quit
Bây giờ chúng ta hãy xem các lệnh sử dụng mà bạn có thể điều khiển Apache Pig từ Grunt shell.
Lệnh thực thi
Sử dụng exec lệnh, chúng ta có thể thực thi các tập lệnh Pig từ shell Grunt.
Syntax
Dưới đây là cú pháp của lệnh tiện ích exec.
grunt> exec [–param param_name = param_value] [–param_file file_name] [script]
Example
Hãy giả sử rằng có một tệp có tên student.txt bên trong /pig_data/ thư mục của HDFS với nội dung sau.
Student.txt
001,Rajiv,Hyderabad
002,siddarth,Kolkata
003,Rajesh,Delhi
Và, giả sử chúng ta có một tệp kịch bản có tên sample_script.pig bên trong /pig_data/ thư mục của HDFS với nội dung sau.
Sample_script.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',')
as (id:int,name:chararray,city:chararray);
Dump student;
Bây giờ, chúng ta hãy thực thi tập lệnh trên từ Grunt shell bằng cách sử dụng exec lệnh như hình dưới đây.
grunt> exec /sample_script.pig
Output
Các exec lệnh thực thi tập lệnh trong sample_script.pig. Theo chỉ dẫn trong kịch bản, nó tảistudent.txt vào Pig và cung cấp cho bạn kết quả của toán tử Dump hiển thị nội dung sau.
(1,Rajiv,Hyderabad)
(2,siddarth,Kolkata)
(3,Rajesh,Delhi)
lệnh giết
Bạn có thể kết thúc một công việc từ Grunt shell bằng lệnh này.
Syntax
Dưới đây là cú pháp của kill chỉ huy.
grunt> kill JobId
Example
Giả sử có một công việc Pig đang chạy có id Id_0055, bạn có thể giết nó từ vỏ Grunt bằng cách sử dụng kill như hình bên dưới.
grunt> kill Id_0055
chạy lệnh
Bạn có thể chạy tập lệnh Pig từ shell Grunt bằng cách sử dụng run chỉ huy
Syntax
Dưới đây là cú pháp của run chỉ huy.
grunt> run [–param param_name = param_value] [–param_file file_name] script
Example
Hãy giả sử rằng có một tệp có tên student.txt bên trong /pig_data/ thư mục của HDFS với nội dung sau.
Student.txt
001,Rajiv,Hyderabad
002,siddarth,Kolkata
003,Rajesh,Delhi
Và, giả sử chúng ta có một tệp kịch bản có tên sample_script.pig trong hệ thống tệp cục bộ với nội dung sau.
Sample_script.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING
PigStorage(',') as (id:int,name:chararray,city:chararray);
Bây giờ, chúng ta hãy chạy đoạn script trên từ Grunt shell bằng lệnh run như hình dưới đây.
grunt> run /sample_script.pig
Bạn có thể xem đầu ra của tập lệnh bằng cách sử dụng Dump operator như hình bên dưới.
grunt> Dump;
(1,Rajiv,Hyderabad)
(2,siddarth,Kolkata)
(3,Rajesh,Delhi)
Note - Sự khác biệt giữa exec và run lệnh đó là nếu chúng ta sử dụng run, các câu lệnh từ tập lệnh có sẵn trong lịch sử lệnh.