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

时间:2015-09-17 11:46:24

标签: apache-spark spark-streaming spark-cassandra-connector

在kafka和cassandra上使用spark on mesos(因此spark-cassandra-connector) 使用spark-streaming我正在听一个kafka主题,然后插入带有.saveToCassandra的cassandra

我有60个cpus分配给spark(30个spark节点和5个casssandra节点),我正在尝试遵循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

1 个答案:

答案 0 :(得分:0)

你可以在之前调用重新分区来保存cassandra中的数据,这样你就可以将并行性改为你的"魔术数量的任务",你也可以将默认的并行性设置为spark的conf参数