2017-09-02 17 views
7

पर ध्यान दिए बिना अपाचे फ्लिंक में दो धाराएं एकत्र करें मेरे पास दो डेटा स्ट्रीम हैं जिन्हें मैं गठबंधन करना चाहता हूं। समस्या यह है कि एक डेटा स्ट्रीम में दूसरे की तुलना में बहुत अधिक आवृत्ति होती है और ऐसे समय होते हैं जहां एक स्ट्रीम घटनाओं को प्राप्त नहीं कर रही है। क्या एक स्ट्रीम से आखिरी घटना का उपयोग करना संभव है और आने वाली हर घटना पर दूसरी स्ट्रीम के साथ इसमें शामिल होना संभव है?विंडो समय

मुझे मिला एकमात्र समाधान जॉइन फ़ंक्शन का उपयोग कर रहा है, लेकिन आपको एक सामान्य विंडो निर्दिष्ट करना है, जहां आप शामिल फ़ंक्शन को लागू कर सकते हैं। यह खिड़की नहीं पहुंची है, जब एक धारा किसी भी घटना नहीं प्राप्त कर रही है।

क्या किसी भी स्ट्रीम या दूसरे से आने वाली हर घटना पर जुड़ने के फ़ंक्शन को लागू करने की संभावना है और अंतिम उपभोग की स्थिति को बनाए रखने और शामिल होने के लिए इस ईवेंट का उपयोग करने की संभावना है?

किसी भी उपयोगी टिप्स के लिए अग्रिम धन्यवाद!

उत्तर

5

आप RichCoFlatMapFunction या CoProcessFunction के साथ फ्लिंक के ConnectedStream एस का उपयोग करना चाहते हैं। इनमें से कोई भी आपको प्रबंधित स्थिति (यानी निरंतर अद्यतन स्ट्रीम से अंतिम तत्व) रखने की अनुमति देगा, और तेज़ स्ट्रीम के साथ इसमें शामिल हो जाएगा। CoProcessFunction टाइमर के साथ काम करने की क्षमता को जोड़ता है, जिसे आप समय-समय पर समाप्त होने वाली कुंजी के लिए राज्य को साफ़ करने के लिए उपयोग करना चाहिए, यदि यह प्रासंगिक है।

इस तरह के जुड़ने को लागू करने के बारे में फ़्लिंक प्रशिक्षण साइट पर एक अभ्यास है: Low-latency Event Time Join

अपडेट: फ्लिंक 1.5 में (अभी तक फरवरी 2018 के रूप में जारी नहीं किया गया), एसक्यूएल लाइब्रेरी has an implementation of non-windowed stream joins। यह MapState<Long, Record> का उपयोग करते हुए फ्लिंक राज्य में रिकॉर्ड संग्रहीत करता है, जहां लांग टाइमस्टैम्प है, और इन मानचित्रों पर पुनरावृत्ति करके और टाइमस्टैम्प की तुलना में जुड़ता है। प्रशिक्षण से उदाहरण के मुकाबले (उपरोक्त लिंक देखें), इसकी आवश्यकता होने पर केवल रिकॉर्ड को विलुप्त करने का लाभ होता है।

+0

धन्यवाद! यही वह है जिसकी तलाश में मैं हूं ! – FLoppix

+0

@ डेविड एंडरसन जाहिर है, क्या दो तेज (लगातार) धाराओं में शामिल होने पर उदाहरण अलग होगा? तुम क्या बदलोगे? – Beckham

संबंधित मुद्दे