Apache pig Pig中两个数据集的比较
我试图比较pig中的两个数据集Apache pig Pig中两个数据集的比较,apache-pig,Apache Pig,我试图比较pig中的两个数据集 A = Load 'file' using pigstorage('|') (id : chararray, id1: charray, id2 : charray, name: charray, name1 : chararray, adr : chararray); B = Load 'file1' using pigstorage('|') (id : chararray, id1: charray, id2 : charray); 假设我有上面的模式,
A = Load 'file' using pigstorage('|') (id : chararray, id1: charray, id2 : charray, name: charray, name1 : chararray, adr : chararray);
B = Load 'file1' using pigstorage('|') (id : chararray, id1: charray, id2 : charray);
假设我有上面的模式,其中来自文件1(id,id1,id2)的组合应该等于来自文件2(id,id1,id2)的组合
在比较之后,我想将输出存储在组合匹配的地方
(id:charray,id1:charray,id2:charray,名称:charray,名称1:charray,adr:charray)
另外,我想知道如何输出不匹配到单独文件的组合的结果
有人能帮我吗。提前感谢您的帮助 您可以简单地使用
JOIN
查找匹配的组合。(我使用左外连接来获得匹配和非匹配)
然后,使用SPLIT
分离匹配和未匹配
SPLIT C INTO MATCHED IF B::id is not null, NOT_MATCHED IF B::id is null;
拆分是否需要变量??我们可以直接存储Split吗?@dk3094 Split的语法是将别名拆分为alias IF expression,alias IF expression[,alias IF expression…];您可以分别存储匹配和不匹配。
SPLIT C INTO MATCHED IF B::id is not null, NOT_MATCHED IF B::id is null;