Свинья отличный атом
Предположим, что мои данные выглядят так со столбцами, названными еда, действие и население:
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));
};