मैं एक Kinesis स्ट्रीम के साथ स्पार्क स्ट्रीमिंग खिला रहा हूं। मेरी परियोजना 1s बैचों का उपयोग कर रही है, पहले बैचों के दौरान (कतार में कुछ मिलियन आइटम होते हैं, और कार्य को स्ट्रीम की शुरुआत से शुरू करना बताया जाता है) स्पार्क स्ट्रीमिंग 10K रिकॉर्ड के बैचों का उपभोग करना शुरू करती है। ऐसा हर 10/20 के दशक में होता है।
अर्थात:
t0 -> records : 0
t1 -> records : 0
.....
t10 -> records: 10.000 -> total process time is 0.8s (lower than batch time)
t11 -> recods : 0
..
t15 ->records : 0
..
t20 -> records: 10.000
यह बीवियर तब तक होता है जब तक स्पार्क धारा के शीर्ष के साथ ऊपर गिर जाता है। Htat के बाद हर बैच हर सेकंड तत्वों को प्रोसेस करेगा।
ऐसा लगता है कि शुरुआती बिंदु पर इसे लगातार प्रति बैच के कई रिकॉर्डों को संसाधित करना चाहिए, बिना कोई रिकॉर्ड संसाधित किए htat उच्च संख्या वाले बैचों के बिना।
कोई भी सेटिंग जिसे मैं अनदेखा कर रहा हूं? क्या वर्णित व्यवहार अपेक्षित है?
उत्तर:
जवाब के लिए 0 № 1इस समस्या का कारण यह बग है: https://issues.apache.org/jira/browse/SPARK-18620 स्पार्क-किनेसिस उपभोक्ता में, जो मैक्सरेट को सही ढंग से सेट नहीं करता है।