Spark Direct Stream 并发作业限制
Spark Direct Stream Concurrent Job Limit
我正在 运行 从 kafka 连接一个 spark 直接流,我需要 运行 许多并发作业以便及时处理所有数据。在 spark 中,您可以将 spark.streaming.concurrentJobs
设置为您想要 运行 的多个并发作业。
我想知道的是确定我在给定环境中可以 运行 并发作业的逻辑方法。对于我公司的隐私问题,我无法告诉您我的规格,但我想知道哪些规格与确定限制相关,为什么?
当然,另一种方法是我可以不断增加它并进行测试,然后根据结果进行调整,但我想要一种更合乎逻辑的方法,我想真正了解是什么决定了这个限制以及为什么。
测试不同数量的并发作业并查看整体执行时间是最可靠的方法。但是,我认为最好的数字大致等于 Runtime.getRuntime().availableProcessors();
的值
所以我的建议是从可用处理器的数量开始,然后增加和减少 1,2 和 3。然后制作图表(执行时间与作业数量的关系),您会看到最佳就业人数。
我正在 运行 从 kafka 连接一个 spark 直接流,我需要 运行 许多并发作业以便及时处理所有数据。在 spark 中,您可以将 spark.streaming.concurrentJobs
设置为您想要 运行 的多个并发作业。
我想知道的是确定我在给定环境中可以 运行 并发作业的逻辑方法。对于我公司的隐私问题,我无法告诉您我的规格,但我想知道哪些规格与确定限制相关,为什么?
当然,另一种方法是我可以不断增加它并进行测试,然后根据结果进行调整,但我想要一种更合乎逻辑的方法,我想真正了解是什么决定了这个限制以及为什么。
测试不同数量的并发作业并查看整体执行时间是最可靠的方法。但是,我认为最好的数字大致等于 Runtime.getRuntime().availableProcessors();
所以我的建议是从可用处理器的数量开始,然后增加和减少 1,2 和 3。然后制作图表(执行时间与作业数量的关系),您会看到最佳就业人数。