Я хочу отсортировать результаты, полученные от свиньи, и затем определить, какие элементы находятся в моих заказанных результатах. Пример:
mydata = LOAD 'mydata.txt' AS (label:chararray, rank_score:float);
ranked_data = ORDER mydata BY rank_score DESC;
ranked_positions = FOREACH ranked_data GENERATE label, AUTO_INCREMENT_ID;
results = FILTER ranked_data BY label = 'item1' OR label='item2';
DUMP results;
AUTO_INCREMENT_ID
будет автоматически увеличиваться в моем идеальном мире. Учитывая, что картографы / редукторы независимы друг от друга, я предполагаю, что Pig / Hadoop может не поддерживать это. Если нет, можете ли вы придумать другой способ получить мой конечный результат?
Пример ввода:
item1 34.33
item2 48.39
item3 93.3
Желаемый вывод:
item1 3
item2 2