डेटा इंजीनियर इंटरव्यू सवाल

streaming पाइपलाइन में देर से आने वाले events को आप कैसे संभालते हैं?

इंटरव्यूअर असल में क्या परख रहा है, अपना जवाब कैसे स्ट्रक्चर करें, और एक बोला हुआ उदाहरण जिसे आप अपना सकते हैं।

छोटा जवाब

processing time के बजाय event time इस्तेमाल करें, और एक watermark तय करें, जो engine का यह अंदाजा है कि किसी दिए गए timestamp से पुराने events अब और नहीं आएंगे। windows तब बंद होती हैं जब watermark उनके अंत से आगे निकल जाता है। allowed lateness सेट करें ताकि थोड़ा देर से आए events नतीजे अपडेट कर सकें, और उससे भी देर वाली हर चीज को चुपचाप फेंकने के बजाय किसी side output या reconciliation table में भेजें।

इंटरव्यूअर यह क्यों पूछते हैं

late data वही जगह है जहां streaming सचमुच मुश्किल हो जाती है, इसलिए यह सवाल उन लोगों को अलग कर देता है जिन्होंने production में job चलाई है उनसे जिन्होंने ट्यूटोरियल पूरा किया है। इंटरव्यूअर event time बनाम processing time चाहते हैं, watermark को latency और पूर्णता के बीच के सौदे के रूप में चाहते हैं, और बहुत देर वाले events के लिए कंधे उचकाने की जगह एक साफ नीति चाहते हैं।

अपना जवाब कैसे स्ट्रक्चर करें

  • शुरू में ही event time और processing time का फर्क बताएं।
  • watermark परिभाषित करें और बताएं window बंद होने का क्या मतलब है।
  • lateness threshold को पूर्णता बनाम latency के सौदे के रूप में रखें।
  • threshold के बाद आने वाले events की नीति बताएं।
  • बताएं कि असली lateness नापकर वह संख्या तय की जाती है।

उदाहरण जवाब

बोला हुआ उदाहरण, पहले व्यक्ति में

सबसे पहले, हर चीज event time पर टिकी होती है, क्योंकि processing time के नतीजे हर replay पर बदल जाते हैं और इससे वे reconciliation के लिए बेकार हो जाते हैं। फिर watermark engine का यह दावा है कि उसे इस timestamp से पुराने events की और उम्मीद नहीं है, और windows तब अंतिम होती हैं जब वह उनसे आगे निकल जाता है। असली डिजाइन फैसला वही lag चुनना है: छोटा watermark तेज नतीजे देता है जो कभी कभी अधूरे होते हैं, लंबा watermark सही नतीजे देता है पर देर से। मैं इसे अंदाजे से नहीं, डेटा से तय करता हूं। एक mobile app पाइपलाइन पर हमने event time और ingestion time का अंतर नापा और पाया कि निन्यानबेवां percentile करीब चार मिनट था, क्योंकि फोन offline हो जाते थे, तो हमने allowed lateness दस मिनट रखी। उससे देर वाली हर चीज एक side output में जाती थी जो एक daily reconciliation job को खिलाती थी और वह warehouse में प्रभावित windows सुधार देती थी। जिस नियम पर मैं टिका रहता हूं वह यह है कि late data कभी चुपचाप नहीं गिराया जाता। अगर हम उसे छोड़ते भी हैं, तो पहले उसे गिना जाता है।

जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।

देखें यह कैसे काम करता है

फॉलो-अप सवाल जिनकी उम्मीद रखें

  • नतीजे अपडेट करने और corrections भेजने में से आप कैसे चुनेंगे?
  • जब एक partition पर डेटा आना बंद हो जाए तो watermarks का क्या होता है?
  • लंबी windows के लिए state का आकार आप कैसे बांधते हैं?

डेटा इंजीनियर के और सवाल

आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।

मेरे सवाल प्रेडिक्ट करें

मुश्किल सवाल पूछे जाने से पहले उनकी रिहर्सल कीजिए

एक लाइव कोपायलट के साथ प्रैक्टिस कीजिए, फिर तैयार होकर अंदर जाइए। $29 Session Pass आपको इंटरव्यू पार करा देता है, न कोई सब्सक्रिप्शन, न कोई लॉक-इन।

GhostPilot पाएं