Ich habe Spark-Streaming-Anwendung, die Kafka-Nachrichten verbraucht. Und ich möchte alle Nachrichten bearbeiten, die die letzten 10 Minuten zusammenkommen. Sieht aus wie es zwei Ansätze sind Arbeit zu tun getan:Spark-Streaming: Batch-Intervall vs Fenster
val ssc = new StreamingContext(new SparkConf(), Minutes(10))
val dstream = ....
und
val ssc = new StreamingContext(new SparkConf(), Seconds(1))
val dstream = ....
dstream.window(Minutes(10), Minutes(10))
und ich möchte nur klarstellen ist es Leistungsunterschiede zwischen ihnen
Sie können einen schnellen Benchmark durchführen und herausfinden !!! Aber da "val ssc = new StreamingContext (neue SparkConf(), Minutes (10)") die Verarbeitung einmal in 10 Minuten dosiert, ist dies die beste Verarbeitung. Die Fensterversion erstellt einen Job, um die neuesten Informationen von Kafka alle 1 Sek. Zu erhalten und alle 10 Minuten zu aggregieren !!! – rakesh