के साथ तालिकाओं के लिए अधिक डिस्क स्थान का उपयोग क्यों करती है मेरे पास S3 पर कुछ सौ CSV फ़ाइलों के रूप में डेटा का एक बड़ा सेट है जो कुल में 1.7 टीबी (असंपीड़ित) हैं। मैं इसे Redshift क्लस्टर पर एक खाली तालिका में कॉपी करने की कोशिश कर रहा हूं।Redshift COPY क्वेरी एक प्रकार की कुंजी
क्लस्टर खाली है (कोई अन्य टेबल नहीं) और इसमें 10 dw2.large नोड्स हैं। यदि मैं तालिका पर एक सॉर्ट कुंजी सेट करता हूं, तो प्रतिलिपि आदेश सभी उपलब्ध डिस्क स्थान को लगभग 25% रास्ते के माध्यम से और बंद कर देता है। यदि कोई सॉर्ट कुंजी नहीं है, तो कॉपी सफलतापूर्वक पूर्ण हो जाती है और उपलब्ध डिस्क स्थान के 45% से अधिक का उपयोग नहीं करती है। यह व्यवहार सुसंगत है कि मैं वितरण कुंजी भी सेट करता हूं या नहीं।
मुझे नहीं पता कि यह क्यों होता है, या यदि इसकी अपेक्षा की जाती है। क्या किसी ने इस व्यवहार को देखा है? यदि हां, तो क्या आपके पास इसके बारे में कोई सुझाव है कि इसे कैसे प्राप्त किया जाए? एक विचार अलग-अलग फाइलों को अलग-अलग आयात करने का प्रयास करना होगा, लेकिन मुझे उस भाग के साथ रेडशिफ्ट सौदे करने का एक तरीका ढूंढना अच्छा लगेगा और यह सब एक प्रश्न में करें।
आने वाले डेटा का आकार 2.5x है? यह हास्यास्पद लगता है। यह आपके द्वारा डालने वाली पंक्तियों की संख्या के कुछ निरंतर समय नहीं है, लेकिन यह वास्तव में पंक्तियों के आकार पर निर्भर है? – michaelsnowden
हमें इसके साथ भी बड़ी समस्याएं थीं। हमारा क्लस्टर आयात की शुरुआत में 40% डिस्क उपयोग पर था और 100% तक पहुंच जाएगा और कभी-कभी आयात को भी दुर्घटनाग्रस्त कर देगा, जो हास्यास्पद लगता है। –