Apache Pig - Đặt hàng theo

Các ORDER BY toán tử được sử dụng để hiển thị nội dung của một quan hệ theo thứ tự được sắp xếp dựa trên một hoặc nhiều trường.

Cú pháp

Dưới đây là cú pháp của ORDER BY nhà điều hành.

grunt> Relation_name2 = ORDER Relatin_name1 BY (ASC|DESC);

Thí dụ

Giả sử rằng chúng tôi có một tệp có tên student_details.txt trong thư mục HDFS /pig_data/ như hình bên dưới.

student_details.txt

001,Rajiv,Reddy,21,9848022337,Hyderabad
002,siddarth,Battacharya,22,9848022338,Kolkata
003,Rajesh,Khanna,22,9848022339,Delhi 
004,Preethi,Agarwal,21,9848022330,Pune 
005,Trupthi,Mohanthy,23,9848022336,Bhuwaneshwar 
006,Archana,Mishra,23,9848022335,Chennai 
007,Komal,Nayak,24,9848022334,trivendram 
008,Bharathi,Nambiayar,24,9848022333,Chennai

Và chúng tôi đã tải tệp này vào Pig với tên quan hệ student_details như hình bên dưới.

grunt> student_details = LOAD 'hdfs://localhost:9000/pig_data/student_details.txt' USING PigStorage(',')
   as (id:int, firstname:chararray, lastname:chararray,age:int, phone:chararray, city:chararray);

Bây giờ chúng ta hãy sắp xếp mối quan hệ theo thứ tự giảm dần dựa trên tuổi của học sinh và lưu trữ nó vào một mối quan hệ khác có tên order_by_data sử dụng ORDER BY như hình dưới đây.

grunt> order_by_data = ORDER student_details BY age DESC;

xác minh

Xác minh mối quan hệ order_by_data sử dụng DUMP như hình dưới đây.

grunt> Dump order_by_data;

Đầu ra

Nó sẽ tạo ra kết quả sau, hiển thị nội dung của mối quan hệ order_by_data.

(8,Bharathi,Nambiayar,24,9848022333,Chennai)
(7,Komal,Nayak,24,9848022334,trivendram)
(6,Archana,Mishra,23,9848022335,Chennai) 
(5,Trupthi,Mohanthy,23,9848022336,Bhuwaneshwar)
(3,Rajesh,Khanna,22,9848022339,Delhi) 
(2,siddarth,Battacharya,22,9848022338,Kolkata)
(4,Preethi,Agarwal,21,9848022330,Pune) 
(1,Rajiv,Reddy,21,9848022337,Hyderabad)