如何匹配pig中的两个load语句

wgx48brx  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(310)

我有两个加载语句 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));

上面的命令打印所有数据。

pinkon5k

pinkon5k1#

如果我理解正确的话,你会想要剂量数据,其中a和b都有给定价格的数据,对吗?您可能需要使用过滤器:

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

d将包含那些数据行,其中a和b都具有用于分组的价格的值。

相关问题