【发布时间】:2017-03-18 12:07:20
【问题描述】:
在我的 Spark Streaming 作业中,CPU 未得到充分利用(仅 5 -10 %)。
它正在从 Kafka 获取数据并发送到 DynomoDB 或第三方端点。
假设端点不是瓶颈,是否有任何可以更好地利用 cpu 资源的工作推荐。
【问题讨论】:
标签: apache-spark spark-streaming
在我的 Spark Streaming 作业中,CPU 未得到充分利用(仅 5 -10 %)。
它正在从 Kafka 获取数据并发送到 DynomoDB 或第三方端点。
假设端点不是瓶颈,是否有任何可以更好地利用 cpu 资源的工作推荐。
【问题讨论】:
标签: apache-spark spark-streaming
Kafka 的并行程度取决于主题的分区数。
如果主题中的分区数量较少,您将无法在 Spark 流式集群中高效地并行化。
首先,增加topic的partition数量。
如果无法增加Kafka topic的partition,可以在DStream.foreachRdd之后通过repartition的方式增加partition数量。
这将使数据分布在所有节点上,效率更高。
【讨论】: