Как контролировать количество задач Spark при записи в Cassandra

Использование искры на мезо с помощью kafka и cassandra (таким образом, spark-cassandra-connector) с потоковой передачей искры я слушаю тему kafka, а затем вставляю в cassandra с помощью .saveToCassandra

У меня есть 60 процессоров, выделенных для Spark (30 узлов Spark и 5 узлов Cassandra), и я пытаюсь следовать рекомендации Apache Spark «В общем, мы рекомендуем 2-3 задачи на ядро ​​ЦП в вашем кластере». То есть 120-180 задач.

Однако кажется, что этап вставки имеет ряд задач в зависимости от полученных входных данных.

Пример (мой потоковый пакет длится 1 минуту):

 900 per minute -> inserting stage has 12 tasks
 50 000 per minute -> inserting stage has 380 tasks

Как я могу получить:

x per minute -> inserting stage has 180 tasks

person christobill    schedule 17.09.2015    source источник


Ответы (1)


вы можете вызвать repartition до того, как сохранить данные в cassandra, чтобы вы могли изменить параллелизм на ваше «Magic Number of tasks», также вы можете установить параллелизм по умолчанию в качестве параметра conf для spark

person Ganger85    schedule 24.09.2015