Apache pig 如何匹配清管器中的两个负载语句

Apache pig 如何匹配清管器中的两个负载语句,apache-pig,surrogate-key,Apache Pig,Surrogate Key,我有两个加载语句A和B。 在每一个我都有一个代理密钥。如果两个键都与存储的数据匹配,我希望匹配代理键列 我尝试了以下代码 A = LOAD 'a/data/' using PigStorage('\t') as (SourceWebSite:chararray,PropertyID:chararray,ListedOn:chararray,ContactName:chararray,TotalViews:int,Price:chararray); B = LOAD 'b/data/' using

我有两个加载语句
A
B
。 在每一个我都有一个代理密钥。如果两个键都与存储的数据匹配,我希望匹配代理键列

我尝试了以下代码

A = LOAD 'a/data/' using PigStorage('\t') as (SourceWebSite:chararray,PropertyID:chararray,ListedOn:chararray,ContactName:chararray,TotalViews:int,Price:chararray);
B = LOAD 'b/data/' using PigStorage('\t') as (SourceWebsite:chararray,PropertyType:chararray,IPLSNO:int,Locality:chararray,City:chararray,Price:chararray);
C = COGROUP A BY Price, B BY Price;
D = FOREACH C GENERATE FLATTEN((IsEmpty(A) ? null : A)), FLATTEN((IsEmpty(B) ? null : B));

上述命令打印所有数据。

如果我理解正确,您希望获得剂量数据,其中A和B都有给定价格的数据,对吗? 您可能需要使用以下过滤器:

D = FILTER C BY (NOT IsEmpty(A) AND NOT IsEmpty(B));

D将包含这些数据行,其中A和B都有用于分组的价格值。

当然比展平D:E=每个D生成展平(A),展平(B);