पहले grain तय करें, फिर duplication को नापें: तय की गई key पर group by करें और एक से ज्यादा rows वाली गिनें। देखें कि duplicates बिल्कुल एक जैसे हैं (load की दिक्कत) या किसी column में अलग हैं (join fan out या source स्तर का duplicate)। परत दर परत पीछे जाकर वह पहली जगह ढूंढें जहां duplication दिखती है, उसी परत पर ठीक करें, फिर प्रभावित partitions दोबारा बनाएं और एक uniqueness test जोड़ें।
इंटरव्यूअर यह क्यों पूछते हैं
दोहरा revenue warehouse का क्लासिक बग है, और इंटरव्यूअर अंदाजे के बजाय व्यवस्थित जांच चाहते हैं। असली फर्क इससे पड़ता है कि आप आखिरी query पर DISTINCT थोपने के बजाय परत दर परत जड़ ढूंढते हैं या नहीं, और आखिर में एक test जोड़ते हैं या नहीं ताकि वही खराबी चुपचाप लौट न सके।
अपना जवाब कैसे स्ट्रक्चर करें
- तय grain बताएं और नापें कि कितनी keys duplicate हैं।
- duplicate rows की तुलना करें कि वे एक जैसी हैं या अलग।
- परतों में पीछे जाकर देखें duplication पहले कहां दिखती है।
- आखिर में dedupe करने के बजाय जड़ पर ठीक करें।
- uniqueness test जोड़ें और प्रभावित इतिहास दोबारा बनाएं।
उदाहरण जवाब
पहले मैं लिखता हूं कि grain क्या होना चाहिए, जैसे हर order line पर एक row, फिर एक से ज्यादा rows वाली keys गिनता हूं ताकि पता चले यह बारह rows का मामला है या बारह फीसदी का। फिर मैं कुछ duplicate सेट साथ रखकर तुलना करता हूं, क्योंकि इससे वजह लगभग तुरंत पता चल जाती है। अगर rows हूबहू एक जैसी हैं, तो यह load की दिक्कत है, आम तौर पर दोबारा चली job का बदलने के बजाय append करना। अगर वे एक column में अलग हैं, तो यह join fan out है, और पिछली बार यही निकला था: एक dimension type 2 हो गई थी और join current version पर filter नहीं कर रहा था, इसलिए हर fact row तीन historical dimension rows से मिल रही थी और प्रभावित customers का revenue तीन गुना हो गया। मैं इसे उसी परत पर ठीक करता हूं जहां वह पहली बार दिखता है, आखिरी model में DISTINCT डालकर नहीं, क्योंकि वह दिक्कत छुपाता है और हर query धीमी करता है। फिर grain पर uniqueness test, और प्रभावित partitions दोबारा बनाना ताकि finance को सही आंकड़े मिलें।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- type 2 dimension से join ठीक ठीक यह गड़बड़ी कैसे पैदा करेगा?
- आखिरी model में dedupe करना खराब fix क्यों है?
- finance को यह कैसे बताएंगे कि इतिहास के आंकड़े बदलेंगे?
डेटा इंजीनियर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें