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流媒体工作中有这么多任务_Apache Spark_Spark Streaming - Fatal编程技术网

Apache spark 为什么我的spark流媒体工作中有这么多任务

Apache spark 为什么我的spark流媒体工作中有这么多任务,apache-spark,spark-streaming,Apache Spark,Spark Streaming,我想知道为什么我的spark流媒体工作中有这么多任务编号?它变得越来越大 经过3.2小时的运行,它增长到120020。。。经过一天的运行,它将增长到一百万。。。为什么?流媒体应用程序的本质是随着时间的推移为每批数据运行相同的过程。看起来您正在尝试以1秒的批处理间隔运行,每个间隔可能会生成多个作业。你可以在3.2小时内找到585份工作,而不是120020份。然而,它也有点像你的处理在任何地方完成,比如1秒。我想你的日程安排很晚。我猜这是一种批次间隔太小的症状。我强烈建议您检查参数spark.str

我想知道为什么我的spark流媒体工作中有这么多任务编号?它变得越来越大


经过3.2小时的运行,它增长到120020。。。经过一天的运行,它将增长到一百万。。。为什么?

流媒体应用程序的本质是随着时间的推移为每批数据运行相同的过程。看起来您正在尝试以1秒的批处理间隔运行,每个间隔可能会生成多个作业。你可以在3.2小时内找到585份工作,而不是120020份。然而,它也有点像你的处理在任何地方完成,比如1秒。我想你的日程安排很晚。我猜这是一种批次间隔太小的症状。

我强烈建议您检查参数spark.streaming.blockInterval,这是一个非常重要的参数。默认值为0.5秒,即每0.5秒创建一个任务

因此,也许您可以尝试将spark.streaming.blockInterval增加到1分钟或10分钟,然后任务的数量应该会减少

我的直觉很简单,因为你的消费者和生产者的速度一样快,所以随着时间的推移,越来越多的任务被积累起来以供进一步消费

这可能是由于您的Spark cluster无法处理如此大的批量。它也可能与检查点间隔时间有关,可能是设置得太大或太小。它还可能与您的并行性分区数据位置等设置有关

祝你好运

读这个


SparkUI
功能意味着某些阶段依赖关系可能已计算或未计算,但由于其输出已可用而被跳过。因此,它们显示为跳过的

请不要使用
可能
,这意味着在作业完成之前,
Spark
无法确定是否需要返回并重新计算最初跳过的某些阶段


[1]

你的工作是什么?你能再加上“流”标签吗?时间间隔是2分钟,我想我的作业运行正常。作业开始时,“所有任务编号”不是很多,只有几百个。3.2小时后,它增长到120020,半天后,它增长到1000000+。我无法理解spark流媒体任务中的“跳过的任务”是什么,为什么会被跳过?为什么跳过的任务数量越来越多你好,我认为不正常的是“跳过的任务数量”越来越多。实际处理任务数是常量。但是“跳过任务”的数量越来越多。我无法理解跳过了哪些任务…我也有同样的错误,但不太确定其原因,可能是内存不足或RDD分割错误。我不确定…我想这可能取决于rdd的血统。新的流式处理任务的沿袭没有被切断,“跳过的任务”是之前的沿袭。因此,被新任务记住的任务将越来越多。一旦新任务失败,所有源“跳过的任务”都将再次执行。因此,我认为checkpoint()可能会解决这个问题。你知道我应该在哪里添加检查点吗对不起,我不知道,我现在也在和检查点做斗争。我当前的检查点设置是1秒,正在尝试优化它:P