如何在一定条件下连接pig中的两个表

h43kikqp  于 2021-06-24  发布在  Pig
关注(0)|答案(1)|浏览(282)

我有两个表-表a(person\u name,person\u salary),表b(person\u name,store\u shop)有一个公共列名person\u name。我想在公共列上联接这两个表,但只取salary>1000的行。我想为每个工资高于1000的人输出商店列表。表b列出了一个单独商店的商店列表,这意味着对于同一个人,它有多行,每个人每次都有不同或重复的商店名称。我想知道我应该如何实现表格连接的工资条件

rsaldnfx

rsaldnfx1#

加载两个数据集。根据薪资>1000筛选第一个数据集。将两个数据集按人名合并以获取输出

A = LOAD 'dataA.txt' USING PigStorage(',') AS (name:chararray,salary:int);
B = LOAD 'dataB.txt' USING PigStorage(',') AS (name:chararray,store:int);
C = FILTER A BY (salary > 1000);
D = JOIN C BY name,B BY name;
E = FOREACH D GENERATE C.name,B.store;
DUMP E;

相关问题