火花流中是否允许睡眠语句

Is Sleep statement allowed in spark Streaming

如果我无法使用消息并想在 5 秒后重试,我需要添加睡眠语句。为此,我需要设置任何配置属性吗?

rdd.foreachPartition(new VoidFunction<Iterator<ConsumerRecord<String, Object>>>() {
        @Override
        public void call(Iterator<ConsumerRecord<String, Object>> record)
                throws Exception {
            while (record.hasNext()) {
                ConsumerRecord<String, Object> consumerRecord = record.next();
               boolean flag=false;
                while(flag){
                    flag= processmessage(record.value())
                if(!flag)
                    Thread.sleep(1000)
                }
            }
        }
    });

目前,我无法运行我的工作

您可以在 spark streaming 应用程序中使用 sleep。

等等,

Spark 流作业运行微批次,我们定义的流间隔时间通常为几秒(可以是 1 秒、2 秒等)。如果您在 Spark Streaming 代码中使用 sleep,完成每个微批次将需要额外的时间 运行。如果数据非常频繁,这可能会影响性能。

这完全取决于应用程序要求,睡眠是否会造成任何性能问题或延迟,或者如果数据在很长的间隔后才出现,它可能不会影响。

希望这对您有所帮助。