如何在写Cassandra时控制Spark任务的数量

wn9m85ua  于 2022-11-05  发布在  Cassandra
关注(0)|答案(1)|浏览(142)

使用spark on mesos与Kafka和cassandra(因此spark-cassandra-connector)与spark流我正在听一个Kafka的主题,然后插入在cassandra与.saveToCassandra
我有60个cpu分配给spark(30个spark节点和5个cassandra节点),我正在努力遵循apache spark的建议“一般来说,我们建议在您的集群中每个CPU核心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
92vpleto

92vpleto1#

您可以在将数据保存到cassandra之前调用repartition,这样您就可以将并行度更改为您的“任务幻数”,也可以将默认并行度设置为spark的conf参数

相关问题