передел в искровом потоке занимает больше времени? - PullRequest
0 голосов
/ 04 марта 2020

Я запускаю искровое приложение, в котором данные поступают каждые 1 минуту. Число перераспределений, которые я делаю, - 48. Он работает на 12 исполнителях с 4G в качестве памяти исполнителя и ядер-исполнителей = 4.

Ниже приведено время обработки потоковых пакетов

enter image description here

Здесь мы можем видеть, что некоторые партии занимают около 20 se c, а некоторые - около 45 se c

Я еще раз просверлил в одной партии, которая занимает меньше времени. Ниже изображение.

enter image description here

и тот, который занимает больше времени.

enter image description here

Здесь мы видим, что на перераспределение задачи уходит больше времени, но, прежде всего, на перераспределение не уходило много времени. Это происходит с каждой 3-4 партии. Данные поступают из kafka Stream и имеют только значение, без ключа.

Есть ли какая-либо причина, связанная с конфигурацией искры?

1 Ответ

0 голосов
/ 24 марта 2020

Попробуйте уменьшить размер "spark. sql .shuffle.partitions", значение по умолчанию 200, что является избыточным. Уменьшите значения и проанализируйте производительность.

...