pig不同原子

kcrjzv8t  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(442)

假设我的数据是这样的,列名为food、action和population:

pizzas   eatenBy  humans
pizzas   eatenBy  collegeKids
pizzas   eatenBy  everyOne
pizzas   grownBy  farmers
sprouts  grownBy  sproutFarmers
sprouts  grownBy  humans

我如何编写一个Pig拉丁语脚本,只产生一个独特的食物和行动,与任何有效的人口从不同的食物和行动组?
也就是说,我想从上述数据中得到的唯一结果是(尽管第1行和第3行的人口可能不同):

pizzas   eatenBy  everyOne
pizzas   grownBy  farmers
sprouts  grownBy  sproutFarmers

谢谢您,

m1m5dgzv

m1m5dgzv1#

不知道如何使用distinct(这比我建议的更有效),但您可以这样做:

food = load 'foodInput' AS (foodType,action,population);
foodGrouped = GROUP food by (foodType,action);
foodLimited = foreach foodGrouped {
    limited = LIMIT food 1;
    GENERATE FLATTEN(limited.(foodType,action,population));
};

相关问题