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

आप Parquet कब इस्तेमाल करेंगे और Avro कब, और क्यों?

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

छोटा जवाब

Parquet columnar है, इसलिए वह अच्छा compress होता है और query को सिर्फ वही columns पढ़ने देता है जिनकी जरूरत है, जो उसे analytical reads के लिए सही बनाता है। Avro row oriented है, उसकी binary encoding compact है और schema evolution का साथ मजबूत है, जो उसे write heavy रास्तों और उन message payloads के लिए सही बनाता है जहां आप पूरे records पढ़ते हैं। छोटे में, transport और landing के लिए Avro, और जिन analytical tables पर आप query करते हैं उनके लिए Parquet।

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

फॉर्मेट चुनना data engineering का रोजमर्रा का फैसला है जिसकी असली लागत होती है, इसलिए इंटरव्यूअर देखते हैं कि आप ब्रांड नाम जानते हैं या physical layout समझते हैं। मजबूत जवाब predicate pushdown और column pruning का जिक्र करते हैं, row group statistics का भी, और यह बात भी कि दोनों schemas रखते हैं, इसलिए यह typed बनाम untyped की बहस नहीं है।

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

  • पहले columnar बनाम row oriented layout का फर्क रखें।
  • columnar layout को compression और column pruning से जोड़ें।
  • row layout को सस्ते appends और पूरे record पढ़ने से जोड़ें।
  • दोनों में schema evolution का व्यवहार बताएं।
  • एक ठोस पाइपलाइन दें जहां आपने दोनों इस्तेमाल किए।

उदाहरण जवाब

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

फर्क physical layout का है। Parquet values को column दर column रखता है, इसलिए सारे timestamps साथ बैठते हैं और जमकर compress होते हैं, और चालीस में से तीन columns चुनने वाली query सचमुच तीन columns जितने bytes ही पढ़ती है। वह हर row group के लिए min और max statistics भी रखता है, इसलिए predicate pushdown पूरे हिस्से छोड़ सकता है। Avro row oriented है, इसलिए एक record एक जगह लगातार रहता है, और जब आप events append कर रहे हों या किसी topic से पूरे messages पढ़ रहे हों तो यही चाहिए। मैंने आखिरी जो पाइपलाइन बनाई, उसमें Kafka payloads schema registry के साथ Avro थे, हमने उन्हें raw zone में Avro के रूप में उतारा, फिर curated layer में Parquet में compact किया। इससे किनारे पर सस्ते writes मिले और आगे सस्ते analytical reads। schema evolution दोनों संभालते हैं, लेकिन default के साथ field जोड़ने पर Avro के नियम उन producers और consumers के लिए ज्यादा उदार हैं जो अलग अलग वक्त पर deploy होते हैं, और इसीलिए transport की तरफ वही जीतता है।

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

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

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

  • predicate pushdown क्या है और वह कब काम नहीं आता?
  • schema registry आपकी compatibility गारंटियों को कैसे बदल देता है?
  • Parquet के मुकाबले ORC कहां बैठता है?

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

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

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

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

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

GhostPilot पाएं