Apache Pig - Nhà điều hành Union

Các UNIONtoán tử Pig Latin được sử dụng để hợp nhất nội dung của hai quan hệ. Để thực hiện thao tác UNION trên hai quan hệ, các cột và miền của chúng phải giống nhau.

Cú pháp

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

grunt> Relation_name3 = UNION Relation_name1, Relation_name2;

Thí dụ

Giả sử rằng chúng ta có hai tệp cụ thể là student_data1.txtstudent_data2.txt bên trong /pig_data/ thư mục của HDFS như hình dưới đây.

Student_data1.txt

001,Rajiv,Reddy,9848022337,Hyderabad
002,siddarth,Battacharya,9848022338,Kolkata
003,Rajesh,Khanna,9848022339,Delhi
004,Preethi,Agarwal,9848022330,Pune
005,Trupthi,Mohanthy,9848022336,Bhuwaneshwar
006,Archana,Mishra,9848022335,Chennai.

Student_data2.txt

7,Komal,Nayak,9848022334,trivendram.
8,Bharathi,Nambiayar,9848022333,Chennai.

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

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

Bây giờ chúng ta hãy hợp nhất nội dung của hai mối quan hệ này bằng cách sử dụng UNION như hình dưới đây.

grunt> student = UNION student1, student2;

xác minh

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

grunt> Dump student;

Đầu ra

Nó sẽ hiển thị đầu ra sau, hiển thị nội dung của mối quan hệ student.

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