Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 大窗口spark结构化流媒体:内存消耗_Apache Spark_Spark Structured Streaming - Fatal编程技术网

Apache spark 大窗口spark结构化流媒体:内存消耗

Apache spark 大窗口spark结构化流媒体:内存消耗,apache-spark,spark-structured-streaming,Apache Spark,Spark Structured Streaming,我们计划实现一个Spark结构化流媒体应用程序,它将消耗连续的数据流:度量值随时间的演化。 此流应用程序将使用7天的窗口大小(和滑动窗口),以便经常计算过去7天内度量值的平均值 1-Spark会保留所有这些7天的数据(影响大量内存消耗),还是Spark会持续计算和更新请求的平均值(然后清除已处理的数据),因此不会影响如此多的内存消耗(不保留7天的数据) 2-如果第一个问题的答案是保留了这7天的数据,水印的使用是否会阻止这种保留? 假设我们有一个1小时的水印;Spark中只会保留1小时的数据,还是

我们计划实现一个Spark结构化流媒体应用程序,它将消耗连续的数据流:度量值随时间的演化。 此流应用程序将使用7天的窗口大小(和滑动窗口),以便经常计算过去7天内度量值的平均值

1-Spark会保留所有这些7天的数据(影响大量内存消耗),还是Spark会持续计算和更新请求的平均值(然后清除已处理的数据),因此不会影响如此多的内存消耗(不保留7天的数据)

2-如果第一个问题的答案是保留了这7天的数据,水印的使用是否会阻止这种保留?
假设我们有一个1小时的水印;Spark中只会保留1小时的数据,还是Spark内存中仍会保留7天,而水印仅用于忽略数据时间戳大于1小时的新数据?

窗口大小7肯定是一个重要的值,但它还取决于传入的流数据量/记录。诀窍在于如何使用窗口持续时间、更新间隔、输出模式以及水印(如有必要)(如果业务规则不受影响)

1-如果流媒体配置为滚动窗口大小(即窗口持续时间与更新持续时间相同),则在完成模式下,您可能会将完整数据保存在内存中7天。但是,如果将窗口持续时间配置为7天,每x分钟更新一次,则将每x分钟计算一次聚合,并且只有结果数据将保留在内存中。因此,请查看窗口API参数并配置获得结果的方法

2-水印带来了不同的行为,它会忽略水印持续时间之前的记录,并在每个微批次超过水位线时间后更新结果表。如果您的业务规则可以包含水印计算,那么也可以使用它

详细介绍API、输出模式和水印的使用是很好的 这将有助于选择正确的组合