Оптимизация в группировке данных - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь сгруппировать большое количество ключей, используя Apache Beam.Я не могу использовать объединитель из-за характера данных и логики, используемой в группе.Я использую поток данных shuffler.Какие еще оптимизации можно использовать?Я имею в виду общие соображения, которые следует учитывать при работе с большими группами данных.

1 Ответ

0 голосов
/ 12 мая 2018

Как правило, слишком большое количество значений для одного и того же ключа приводит к снижению производительности (известной как «горячая клавиша»).

Один из методов решения этой проблемы заключается в разделении данных на несколько ключей.затем объедините результаты в меньшее количество значений и затем объедините эти результаты еще раз для исходного ключа.

Эта идея поддерживается автоматически, если вы используете правильный параметр в потоке данных.Этот блог предлагает это с помощью Combine.PerKey.withHotKeyFanout или Combine.Globally.withFanout. Блог .Он также содержит некоторые другие предложения, которые могут оказаться полезными.

Я надеюсь, что предложение в этих сообщениях блога поможет вам найти рабочее решение:).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...