Свинья отличный атом

Предположим, что мои данные выглядят так со столбцами, названными еда, действие и население:

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

Как я могу написать сценарий "Свинья на латыни", чтобы производить ТОЛЬКО уникальную еду и действие с какой-либо действительной группой из отдельной группы "Еда и действия"?

то есть единственный вывод, который я хотел бы получить из приведенных выше данных, был бы таким (хотя население 1-й и 3-й строк могло бы быть разным):

pizzas   eatenBy  everyOne
pizzas   grownBy  farmers
sprouts  grownBy  sproutFarmers

Спасибо,

1 ответ

Не знаю, как бы вы сделали это с 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));
};
Другие вопросы по тегам