Apache Pig - Toán tử bộ lọc
Các FILTER toán tử được sử dụng để chọn các bộ giá trị cần thiết từ một quan hệ dựa trên một điều kiện.
Cú pháp
Dưới đây là cú pháp của FILTER nhà điều hành.
grunt> Relation2_name = FILTER Relation1_name BY (condition);
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ử dụng toán tử Bộ lọc để có được thông tin chi tiết của các sinh viên thuộc thành phố Chennai.
filter_data = FILTER student_details BY city == 'Chennai';
xác minh
Xác minh mối quan hệ filter_data sử dụng DUMP như hình dưới đây.
grunt> Dump filter_data;
Đầu ra
Nó sẽ tạo ra kết quả sau, hiển thị nội dung của mối quan hệ filter_data như sau.
(6,Archana,Mishra,23,9848022335,Chennai)
(8,Bharathi,Nambiayar,24,9848022333,Chennai)