Apache Pig - Birlik Operatörü
UNIONPig Latin operatörü, iki ilişkinin içeriğini birleştirmek için kullanılır. UNION işlemini iki ilişkide gerçekleştirmek için, bunların sütunları ve etki alanları aynı olmalıdır.
Sözdizimi
Aşağıda verilen sözdizimi UNION Şebeke.
grunt> Relation_name3 = UNION Relation_name1, Relation_name2;
Misal
İki dosyamız olduğunu varsayalım: student_data1.txt ve student_data2.txt içinde /pig_data/ HDFS dizini aşağıda gösterildiği gibi.
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.
Ve bu iki dosyayı ilişkilerle birlikte Pig'e yükledik. student1 ve student2 Aşağıda gösterildiği gibi.
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);
Şimdi bu iki ilişkinin içeriğini UNION Operatör aşağıda gösterildiği gibi.
grunt> student = UNION student1, student2;
Doğrulama
İlişkiyi doğrulayın student kullanmak DUMP Operatör aşağıda gösterildiği gibi.
grunt> Dump student;
Çıktı
İlişkinin içeriğini gösteren aşağıdaki çıktıyı gösterecektir. 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)