我有两个加载语句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的这些数据行,其中A和B具有用于分组的价格的价值。