首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态分配资源和管理火花结构流的尖峰?

如何动态分配资源和管理火花结构流的尖峰?
EN

Stack Overflow用户
提问于 2020-03-20 19:39:44
回答 1查看 891关注 0票数 5

我编写了一个结构化的流媒体应用程序,将数据实时推送到S3。我们接收来自卡夫卡的数据,并在使用结构化流处理数据后将数据推送到S3。

我知道星火流支持资源的动态分配。但在JIRA https://issues.apache.org/jira/browse/SPARK-24815之后发现,结构化流不支持资源的动态分配。

想知道在当前结构化流不支持动态资源分配时如何处理数据尖峰。

不实现动态分配的推理如下(来自JIRA):,如果我们设置spark.dynamicAllocation.enabled=true并运行结构化流作业,批处理动态分配算法就会启动。如果任务积压有一定的大小,它会请求更多的执行程序,如果任务待机一段时间,它就会移除执行程序。它基本上是指批处理,而不是连续处理。在批处理模式下,我们关心的是numRunningOrPendingTasks,而流的比率是: averageBatchProcTime.toDouble /批处理,即每单位时间平均批处理时间,所以在空闲时缩小系统不是一个有效的解决方案。

问题:当不提供动态资源分配时,如何处理尖峰。

EN

回答 1

Stack Overflow用户

发布于 2022-02-04 06:08:40

因此,通过将minPartitions设置为高于主题分区的数目,假设主题中有10个分区,并且设置了minPartitions=1000,任务数量上下缩放以满足触发间隔。然而,当负载下降时,Kafka源仍然考虑消费者缓存和循环所有执行器上的任务。因此,执行者永远不会因为dynamicAllocation空闲时间而保持空闲状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60780637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档