В каноническом примере свинг-свиньи мне любопытно, как люди подходят к оптимизации условий, при которых группировка по слову может привести к созданию мешка с множеством элементов.Hadoop Pig - Оптимизация количества слов
Например:
A = load 'input.txt';
B = foreach A generate flatten(TOKENIZE((chararray)$0)) as word;
C = group B by word;
D = foreach C generate COUNT(B), group;
В строке C, если есть слово, скажем, «в» и что происходит 1 миллиард раз во входном файле, это может привести к редуктору, висящей на очень долгое время обработки. Что можно сделать, чтобы оптимизировать это?
Вы правы, что последние версии Pig автоматически объединяют те, которые вы увидите в пояснениях. В то время как это уменьшит количество пар ключевых значений, которые попадают в редукторы для слов с высоким значением, на практике это, по-видимому, не уменьшает его. Эти горячие точки могут привести к тому, что один редуктор застрянет в течение нескольких часов после того, как все остальное закончится. Любые другие оптимизации? – charmquark