【问题标题】:How to control the number of Spark tasks when writing to Cassandra写入 Cassandra 时如何控制 Spark 任务的数量
【发布时间】:2019-08-07 05:20:26
【问题描述】:

在带有 kafka 和 cassandra 的 mesos 上使用 spark(因此是 spark-cassandra-connector) 通过火花流,我正在听一个 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

【问题讨论】:

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


    【解决方案1】:

    你可以调用 repartition 之前将数据保存在 cassandra 中,这样你就可以将并行度更改为你的“Magic Number of tasks”,也可以将默认并行度设置为 spark 的 conf 参数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-15
      • 2019-11-12
      • 2015-04-14
      • 1970-01-01
      • 2019-10-15
      • 2020-10-08
      • 2018-12-31
      • 1970-01-01
      相关资源
      最近更新 更多