Apache Pig - Toán tử giới hạn
Các LIMIT toán tử được sử dụng để nhận một số bộ giá trị giới hạn từ một quan hệ.
Cú pháp
Dưới đây là cú pháp của LIMIT nhà điều hành.
grunt> Result = LIMIT Relation_name required number of tuples;
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ờ, 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 limit_data sử dụng ORDER BY như hình dưới đây.
grunt> limit_data = LIMIT student_details 4;
xác minh
Xác minh mối quan hệ limit_data sử dụng DUMP như hình dưới đây.
grunt> Dump limit_data;
Đầu ra
Nó sẽ tạo ra kết quả sau, hiển thị nội dung của mối quan hệ limit_data như sau.
(1,Rajiv,Reddy,21,9848022337,Hyderabad)
(2,siddarth,Battacharya,22,9848022338,Kolkata)
(3,Rajesh,Khanna,22,9848022339,Delhi)
(4,Preethi,Agarwal,21,9848022330,Pune)