我设置窗口的总长度是1天,10秒滑动一次,但是每次滑动都会导致window操作的task数量增加,执行时间越来越长,这是什么原因呢,我想把每个stage的task数设置成固定的,但是我设置属性值怎么不生效呢,
.set("spark.sql.shuffle.partitions","30")
.set("spark.default.parallelism","30");即使我没传递数据task数量也在增加,先是10个,然后20,30.。。等等
还有我没传递数据进spark但是为什么input的值还是在一直增加呢。

解决方案 »

  1.   

    窗口的长度是一天,十秒执行一次,但是每次执行都会使block的数量增加,从而task也跟着增加,执行速度变的很慢。如何能把block合并呢?每次都生成那么多的block一点用处也没有。
      

  2.   

    你窗口内的数据还没完整吧?数据一直在增长,那block数自然增长啊
      

  3.   

    对,数据还一直在增长,不过我换成createStream的方式去接收数据task就可以按照我配置的参数固定住了,但是用createDriectStream的方式就不行,只要数据窗口还没走完整就会一直在增加task数量,设置参数也控制不了。
      

  4.   


    对,数据还一直在增长,不过我换成createStream的方式去接收数据task就可以按照我配置的参数固定住了,但是用createDriectStream的方式就不行,只要数据窗口还没走完整就会一直在增加task数量,设置参数也控制不了。