После тестирования Hive и Pig я обнаружил, что оператор Group By в Pig значительно медленнее, чем Hive. Мне было интересно, испытал ли кто-нибудь то же самое? И есть ли у людей какие-нибудь советы по повышению эффективности этой операции? (Добавление DISTINCT, как было предложено здесь ранее, не помогает. В настоящее время я повторно запускаю тест с включенным сжатием LZO).
Свинья: Медленная группировка по оператору
Ответы (1)
Кажется, вы неправильно смотрите. Group By просто группирует данные каким-то образом, очень важно, что вы делаете потом. Пытаясь проанализировать производительность в Pig, вы должны помнить следующее:
1) Несколько операторов могут быть объединены в одно задание MR, поэтому не смотрите на утверждения, посмотрите на производительность сгенерированных заданий MR.
2) Должна быть причина для резкой разницы в производительности. Это может быть:
2.1 Другой формат ввода, другие обстоятельства при тестировании Pig vs Hive.
2.2 Объединитель по какой-то причине отключен: http://pig.apache.org/docs/r0.9.1/perf.html#When+the+Combiner+is+Used В большинстве случаев это узкое место для меня.
По моему опыту, нет резкой разницы в производительности Pig / Hive.