मैं घटना समय खिड़की के आसपास अर्थशास्त्र को समझने में कुछ परेशानियों में भाग रहा हूं। निम्न कार्यक्रम टाइमस्टैम्प के साथ कुछ tuples उत्पन्न करता है जो घटना समय के रूप में उपयोग किया जाता है और एक साधारण खिड़की एकत्रीकरण करता है। मैं उम्मीद करता हूं कि इनपुट इनपुट के समान क्रम में हो, लेकिन उत्पादन को अलग-अलग आदेश दिया गया है। ईवेंट के समय के संबंध में आउटपुट आउटपुट क्यों है?फ्लिंक स्ट्रीमिंग ईवेंट टाइम विंडो ऑर्डरिंग
import java.util.concurrent.TimeUnit
import org.apache.flink.streaming.api.TimeCharacteristic
import org.apache.flink.streaming.api.windowing.time.Time
import org.apache.flink.streaming.api.scala._
object WindowExample extends App {
val env = StreamExecutionEnvironment.getExecutionEnvironment
env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)
env.getConfig.enableTimestamps()
env.setParallelism(1)
val start = 1449597577379L
val tuples = (1 to 10).map(t => (start + t * 1000, t))
env.fromCollection(tuples)
.assignAscendingTimestamps(_._1)
.timeWindowAll(Time.of(1, TimeUnit.SECONDS))
.sum(1)
.print()
env.execute()
}
इनपुट:
(1449597578379,1)
(1449597579379,2)
(1449597580379,3)
(1449597581379,4)
(1449597582379,5)
(1449597583379,6)
(1449597584379,7)
(1449597585379,8)
(1449597586379,9)
(1449597587379,10)
परिणाम:
[info] (1449597579379,2)
[info] (1449597581379,4)
[info] (1449597583379,6)
[info] (1449597585379,8)
[info] (1449597587379,10)
[info] (1449597578379,1)
[info] (1449597580379,3)
[info] (1449597582379,5)
[info] (1449597584379,7)
[info] (1449597586379,9)
क्या आप डाउनस्ट्रीम ऑपरेशन का उदाहरण दे सकते हैं या इंगित कर सकते हैं जो वॉटरमार्क प्राप्त करने के बाद ईवेंट के समय के आधार पर तत्वों को पुन: व्यवस्थित कर सकता है? धन्यवाद! –
@ मैक्सिमकोल्चिन इस तरह की पुनरावृत्ति होती है उदा। सीईपी पुस्तकालय में। आप यहां एक नज़र डाल सकते हैं: https://github.com/apache/flink/blob/master/flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/operator/AbstractKeyedCEPPatternOperator.java –