Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/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 1.6.2下不断增长的调度程序延迟?_Apache Spark_Spark Streaming - Fatal编程技术网

Apache spark 如何控制Spark 1.6.2下不断增长的调度程序延迟?

Apache spark 如何控制Spark 1.6.2下不断增长的调度程序延迟?,apache-spark,spark-streaming,Apache Spark,Spark Streaming,我正在Spark 1.6.2下运行一个流作业,它从队列中获取批处理。我尝试过各种大小的内存和执行器数量,例如: spark-submit --class "MyStreamingClass" --master yarn --deploy-mode cluster --driver-memory 11g --executor-memory 11g --num-executors 7 --conf spark.yarn.executor.memoryOverhead=256 mystuff-*.ja

我正在Spark 1.6.2下运行一个流作业,它从队列中获取批处理。我尝试过各种大小的内存和执行器数量,例如:

spark-submit --class "MyStreamingClass" --master yarn --deploy-mode cluster --driver-memory 11g --executor-memory 11g
--num-executors 7 --conf spark.yarn.executor.memoryOverhead=256 mystuff-*.jar
每个批处理请求对同一组数据进行重新处理,更新不断变化的值。就是同样的结构,同样的尺寸,, 相同的键,但值会随每个批更新。对于每个请求,从 队列和被传递到输入数据流的数据量增加。我认为这是调度程序延迟。此值可控制为0 在某种程度上,通过调整内存和执行器的数量。问题是调度程序延迟会随着批处理的增加而增加, 几次请求后可能需要几分钟。长键永远不会改变,因此HashPartitioner使用相同的键 每次都有钥匙。数据量很小,不到100米,但处理范围很广,需要跨节点分布


为什么调度程序延迟增长如此之快,特别是在密钥不变的情况下?我需要做哪些更改来稳定调度程序延迟?

我在这里发现,某些处理花费的时间比批处理时间长。在这种情况下,框架永远也赶不上。解决方案是要么减少批处理时间,要么通过增加资源或优化使处理适应批处理时间。

我在这里发现,一些处理花费的时间比批处理时间长。在这种情况下,框架永远也赶不上。解决方案是减少批处理时间,或者通过增加资源或优化使处理适应批处理时间。

您的处理时间是否超过批处理间隔?@NishantKumar-它更长。不过,每批都是单独处理的。我正在提交一批,等待它清除,然后进入下一批。希望集群处于干净状态,处理每个批次时不会受到前一个批次的干扰。您的处理时间是否超过批次间隔?@NishantKumar-更长。不过,每批都是单独处理的。我正在提交一批,等待它清除,然后进入下一批。希望集群处于干净状态,处理每批产品时不会受到前一批产品的干扰。