2016-08-02 43 views
0

我有哪里火花流我是只关心最后1分钟,所以我写了我的代码,因此Spark流作业调度控制执行?

现在有时由于各种资源的问题我的计划分批得到堆积这样

INFO JobScheduler: Added jobs for time 1470046240000 ms 
    INFO JobScheduler: Added jobs for time 1470046241000 ms 
    INFO JobScheduler: Added jobs for time 1470046242000 ms 
    INFO JobScheduler: Added jobs for time 1470046243000 ms 

我的问题是我怎么能放下调度作业,如果时间超过1分钟 ,使他们能够执行

+0

看起来你给'批间隔'作为'1秒'增加到'60秒'看到它解决了你的问题!请记住,你的“处理时间”应该总是小于“批处理间隔”。 – avr

+0

我已经这样做了,其50秒 的问题是有一段时间有更多的吞吐量的一分钟,所以更多的处理 那时工作堆积起来,因为它必须处理,但如果我可以再次放弃这些工作,它会表现正常 – vipin

+0

我可以从上面提供的日志中看到批间隔为'1秒'(1000毫秒)。但是,IMO最好相应地调整'batch interval'而不是放弃批次。 – avr

回答

0

之前被丢弃以跳过具有然后设置大的输入数据的阈值计,如果你输入RDD数大于批比阈值,然后只是做否则就什么都不做,你想要的所有操作(如转换,行动)。

我使用这种方法跳过空批。