его с groupBy. Данные у меня сильно skewed и видимо оч много идет в один партишин. Агрегатору в принципе пофигу сколько партишинов мерджить, но судя по всему groupBy разбивает на партишины по ключам. Можно как-то сказать groupBy’ю, чтобы он как-то умнее репартишинил? Чтобы одна группа разбивалась на несколько партишинов… Знаю что можно соль добавить в ключ и потом вручную сагрегировать по соли, но эт моторно. Разве спарк не умеет чего-то умнее? Если я сделаю репатишин перед groupBy, оно сново сделает репартишин по ключам, так? Вообще зачем агрегатору мердж метод, если все равно вся группа идет в один партишин?
И еще вопрос, можно как-то short-circuit’ь с кастомного агрегатора? У меня бывает что агрегатор посчитал нужное значение уже и проходить по остальным рекордам в группе уже не нужно, можно как-то сделать чтобы агрегатор завершил выполнение раньше? Спасибо!
Умнее пока ничего нет, делай соль
А зачем агрегатору тогда метод мерджа?
Обсуждают сегодня