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)