Я пытаюсь выяснить разницу между двумя таблицами (Source и Destination) с помощью Diff() метод в свинью, для того, чтобы добиться того, что:NOT IN функции в свинью
sourcenew = LOAD 'hdfs://HADOOPMASTER:54310/DVTTest/Source.txt' USING PigStorage(',') as (ID:chararray,Name:chararray,FirstName:chararray ,LastName:chararray,Vertical_Name:chararray ,Vertical_ID:chararray,Gender:chararray,DOB:chararray,Degree_Percentage:chararray ,Salary:chararray,StateName:chararray);
destnew = LOAD 'hdfs://HADOOPMASTER:54310/DVTTest/Destination.txt' USING PigStorage(',') as (ID:chararray,Name:chararray,FirstName:chararray ,LastName:chararray,Vertical_Name:chararray ,Vertical_ID:chararray,Gender:chararray,DOB:chararray,Degree_Percentage:chararray ,Salary:chararray,StateName:chararray);
cogroupnew= COGROUP sourcenew by ID inner, destnew by ID inner;
diffnew = FOREACH cogroupnew GENERATE DIFF(sourcenew,destnew);
DUMP diffnew;
дает различия между две таблицы или вернуть пустую сумку {}, если соответствует кортежи, он отлично работает до этого, мой следующий шаг, чтобы найти дополнительные записи в исходных файлах, которые не существуют в пункт назначения, для этого
cogroupextrainsource= COGROUP sourcenew by ID inner, destnew by ID;
filterextrainsource= FILTER cogroupextrainsource BY ID NOT (cogroupnew)
его метания ошибки как ожидается. Нужна помощь, чтобы найти дополнительные источники. Помощь была бы очень признательна.
Спасибо!