火花流中是否允许睡眠语句
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,完成每个微批次将需要额外的时间 运行。如果数据非常频繁,这可能会影响性能。
这完全取决于应用程序要求,睡眠是否会造成任何性能问题或延迟,或者如果数据在很长的间隔后才出现,它可能不会影响。
希望这对您有所帮助。
如果我无法使用消息并想在 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,完成每个微批次将需要额外的时间 运行。如果数据非常频繁,这可能会影响性能。
这完全取决于应用程序要求,睡眠是否会造成任何性能问题或延迟,或者如果数据在很长的间隔后才出现,它可能不会影响。
希望这对您有所帮助。