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)