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

dbt में incremental models कैसे काम करते हैं, और आप full rebuild की जगह उन्हें कब चुनते हैं?

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

छोटा जवाब

incremental model पहली बार table बनाता है, फिर आगे के runs में सिर्फ नई या बदली हुई rows process करके उन्हें merge कर देता है, और source को छांटने के लिए is_incremental block इस्तेमाल करता है। इसे तब चुनें जब full rebuild बहुत धीमा या महंगा हो, आम तौर पर बड़ी event tables पर। एक unique key रखें ताकि देर से आए updates duplicate होने के बजाय merge हों, और full refresh का रास्ता खुला रखें ताकि logic बदलने पर दोबारा बना सकें।

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

इंटरव्यूअर देख रहे हैं कि आप समझदारी से optimize करते हैं या नहीं। incremental models state ले आते हैं, इसलिए वे उस नतीजे से खिसक सकते हैं जो full rebuild देता, और जो उम्मीदवार इन्हें डिफॉल्ट बना लेते हैं वे चुपचाप गलत आंकड़े पैदा करते हैं। अच्छे जवाब late arriving data के लिए lookback window का जिक्र करते हैं और जांच के तौर पर समय समय पर full refresh करने के अनुशासन का भी।

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

  • incremental filter और merge की मशीनरी समझाएं।
  • वह सीमा बताएं जिसके बाद incremental जटिलता के लायक है।
  • unique key बताएं और यह कि उसके बिना क्या होता है।
  • देर से आने वाले updates के लिए lookback window जोड़ें।
  • सही सलामती की जांच के तौर पर समय समय पर full refresh पर जोर दें।

उदाहरण जवाब

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

पहले run पर वह पूरी table बनाता है। उसके बाद is_incremental block एक filter जोड़ देता है ताकि आप सिर्फ हाल की source rows scan करें, और dbt उन्हें unique key पर मौजूदा table में merge कर देता है। मैं इसे तभी उठाता हूं जब full rebuild सचमुच तकलीफदेह हो गया हो, क्योंकि incremental models state ढोते हैं और state खिसकता है। दो आदतें इन्हें ईमानदार रखती हैं। पहली, max timestamp से सख्ती से बड़ा होने के बजाय एक lookback window, क्योंकि sources पुरानी rows भी अपडेट करते हैं। एक orders model पर हमने तीन दिन रखे, यह पाने के बाद कि refunds 48 घंटे तक देर से आते थे और पूरी तरह छूट रहे थे। दूसरी, तय समय पर full refresh, हमारे यहां हफ्ते में एक बार, जो खिसकाव भी पकड़ता है और यह भी साबित करता है कि model अब भी दोबारा बन सकता है। जो गड़बड़ी मैंने देखी है वह है append only strategy पर बिना unique key वाला incremental model, जो हर retry पर चुपचाप दोहरी गिनती करता रहा, और किसी ने तब तक नहीं पकड़ा जब तक महीने का आंकड़ा finance से नहीं भिड़ गया।

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

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

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

  • append और merge strategies में क्या फर्क है?
  • production में incremental model का logic आप सुरक्षित तरीके से कैसे बदलेंगे?
  • incremental model में deletes को आप कैसे संभालते हैं?

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

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

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

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

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

GhostPilot पाएं