Apache spark 如何为spark结构化流媒体动态分配资源和管理峰值?
我已经编写了一个结构化的流媒体应用程序,将数据实时推送到S3。我们从Kafka接收数据,并在使用结构化流处理数据后将数据推送到S3 我知道Spark流媒体支持资源的动态分配。但在JIRA之后发现,结构化流媒体不支持资源的动态分配 想知道在当前结构化流媒体不支持动态资源分配时如何处理数据峰值 不实施动态分配的原因如下(来自JIRA):如果我们将spark.dynamicAllocation.enabled设置为true并运行结构化流作业,则批处理动态分配算法将生效。如果任务积压达到一定大小,它会请求更多的执行者;如果执行者闲置了一定时间,它会删除这些执行者。它基本上是指批量处理,而不是连续处理。在批处理模式下,我们关心numRunningOrPendingTasks,而流式处理的比率是:averageBatchProcTime.toDouble/batchDurationMs,即每单位时间的平均批处理时间,因此在空闲时缩小系统不是有效的解决方案Apache spark 如何为spark结构化流媒体动态分配资源和管理峰值?,apache-spark,spark-structured-streaming,Apache Spark,Spark Structured Streaming,我已经编写了一个结构化的流媒体应用程序,将数据实时推送到S3。我们从Kafka接收数据,并在使用结构化流处理数据后将数据推送到S3 我知道Spark流媒体支持资源的动态分配。但在JIRA之后发现,结构化流媒体不支持资源的动态分配 想知道在当前结构化流媒体不支持动态资源分配时如何处理数据峰值 不实施动态分配的原因如下(来自JIRA):如果我们将spark.dynamicAllocation.enabled设置为true并运行结构化流作业,则批处理动态分配算法将生效。如果任务积压达到一定大小,它会请
问题:在没有提供动态资源分配的情况下,如何处理峰值。我想你的研究已经回答了这个问题。不可能。声明这是可能的…但我想知道是否只是流在现实中?还有一点是关于SSS的州。吉拉读得不好。目前,它不起作用。不幸的是,关于这个话题的文献充其量也令人困惑。最新的Cloudera文档重申了这一点:这可能是Cloudera的独特实现吗?使用带动态分配的结构化流,我只看到执行器在init上按比例放大,但在空闲时从不缩小