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 ReduceByAndWindow在从检查点恢复时执行两次重新分区_Apache Spark_Spark Streaming - Fatal编程技术网

Apache spark ReduceByAndWindow在从检查点恢复时执行两次重新分区

Apache spark ReduceByAndWindow在从检查点恢复时执行两次重新分区,apache-spark,spark-streaming,Apache Spark,Spark Streaming,我正在使用spark流式检查指向机制并从Kafka读取数据。我的应用程序的窗口持续时间为2小时,滑动间隔为15分钟 因此,我的批处理按以下间隔运行 09:45 10:00 10点15分 10:30 等等 当我的作业重新启动并从检查点恢复时,它会对每个15分钟的作业执行两次重新分区步骤,直到2小时的窗口完成。然后重新分区只发生一次 例如,当作业在16:15恢复时,它也会对16:15 Kafka流和14:15 Kafka流进行重新分区。此外,计算16:15批次的所有其他中间阶段。我正在使用带有反

我正在使用spark流式检查指向机制并从Kafka读取数据。我的应用程序的窗口持续时间为2小时,滑动间隔为15分钟

因此,我的批处理按以下间隔运行

  • 09:45
  • 10:00
  • 10点15分
  • 10:30
  • 等等
当我的作业重新启动并从检查点恢复时,它会对每个15分钟的作业执行两次重新分区步骤,直到2小时的窗口完成。然后重新分区只发生一次

例如,当作业在16:15恢复时,它也会对16:15 Kafka流和14:15 Kafka流进行重新分区。此外,计算16:15批次的所有其他中间阶段。我正在使用带有反向函数的
reducebykandwindow
。现在,一旦2小时窗口在18:15之前完成,重新分区只进行一次。检查点似乎没有存储超过2小时的
RDD
,这是我的窗口持续时间。正因为如此,我的工作比平时要花更多的时间

是否有一种方法或一些配置参数可以帮助避免重新分区两次

谢谢!
Kundan

你介意发布你的代码来显示你如何检查点并重新启动你的进程吗?@RohanAletty…我只是指定检查点目录,并使用ReduceByAndWindow,在我正在做的聚合中使用相反的方式。你介意发布你的代码来显示你如何检查点并重新启动你的进程吗?@RohanAletty…我介意只需指定检查点目录并使用ReduceByAndWindow,在我正在进行的聚合中使用相反的方法。