मैं एक postgresql डेटाबेस के लिए एक बहुत बड़ी फ़ाइल लोड कर रहा हूँ। इस मैं पहली बार उपयोग करने के लिए split
फ़ाइल में छोटे फ़ाइलें (30GB प्रत्येक) प्राप्त करने के लिए और फिर मैं का उपयोग कर डेटाबेस के लिए प्रत्येक छोटे फ़ाइल लोड GNU Parallel
और psql copy
।
समस्या यह है कि फ़ाइल को विभाजित करने में लगभग 7 घंटे लगते हैं, और फिर यह प्रति कोर फ़ाइल लोड करना शुरू कर देता है। मुझे यह बताने split
का तरीका है कि फाइल का नाम प्रिंट करने के लिए एसटीडी आउटपुट हर बार फाइल लिखने के बाद मैं इसे पाइप कर सकता हूं Parallel
और यह फाइल split
लिखने के समय पर फाइल लोड करना शुरू कर देता है। कुछ इस तरह:
split -l 50000000 2011.psv carga/2011_ | parallel ./carga_postgres.sh {}
मैंने split
मैन पेज पढ़े हैं और मुझे कुछ नहीं मिल रहा है। क्या ऐसा करने का कोई तरीका है split
या किसी अन्य उपकरण के साथ?