1

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

我有 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
4

1 回答 1

0

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

于 2015-09-24T10:40:23.667 回答