如何监控sparkstreaming应用的状态大小?驱动程序GUI中的存储选项卡仅显示Mapwithstate State操作的结果(Mapwithstaterdd,而不是实际的Spark State RDD!从Grafana中,我们观察到sparkstreaming应用程序的总内存使用量随着每批传入的流处理而“增长”。Grafana中显示的工作节点(整个集群)的内存使用量远远高于驱动程序GUI中</em
我打算实现一个基于网络数据会话的spark流媒体应用程序。我正在为RDDs使用全状态编程。由于大量的记录和键,在我的流逻辑中的一些条件被遵守后,我需要删除我的mapwithsate函数中的一些状态!我想知道为什么要这样做,我知道在状态规范中,有一个超时,但这不是我正在寻找的功能,而是我应该从内存中删除状态,以减轻我的流应用程序消耗的内存量。state.getOption.getOrElse(0L)
val output = (key,