ClickHouse DB में बड़ी मात्रा में डेटा कैसे डालें?
मेरे पास एक ClickHouse सर्वर चल रहा है और मैं सफलतापूर्वक एक क्लाइंट के माध्यम से इससे जुड़ा हुआ हूं। मैं अपने प्रश्नों को चलाने के लिए Tabix.io का उपयोग कर रहा हूं। मैंने एक डीबी और एक तालिका बनाई है जिसे "नाम" कहा जाता है। मैं उस तालिका के अंदर बहुत सारे यादृच्छिक रूप से उत्पन्न नाम इनपुट करना चाहता हूं। मुझे पता है कि इस तरह से कई कमांड चल रहे हैं:
insert into names (id, first_name, last_name) values (1, 'Stephana', 'Bromell');
insert into names (id, first_name, last_name) values (2, 'Babita', 'Leroux');
insert into names (id, first_name, last_name) values (3, 'Pace', 'Christofides');
...
insert into names (id, first_name, last_name) values (999, 'Ralph', 'Jackson');
समर्थित नहीं है और इसलिए यह केवल पहली क्वेरी है जिसे निष्पादित किया गया है। दूसरे शब्दों में केवल स्टेफना ब्रोमेल "नाम" तालिका में दिखाई देते हैं।
बड़ी मात्रा में डेटा डालने के लिए ClickHouse विकल्प क्या है?
जवाब
CSV के साथ http क्लाइंट का उपयोग करके बैच डालने के बारे में कैसे
- सामग्री के साथ csv फ़ाइल (name.csv) बनाएँ:
1,Stephana,Bromell
2,Babita,Leroux
3,Pace,Christofides
...
999,Ralph,Jackson
- HTTP API कॉल करें:
curl -i -X POST \
-T "./names.csv" \
'http://localhost:8123/?query=INSERT%20INTO%20names%20FORMAT%20CSV'
एक सम्मिलित में कई मान।
नाम (आईडी, First_name, last_name) मान (1, 'स्टेफ़ाना', 'ब्रोमेल') (2, 'बबीता', 'लेरॉक्स') (3, 'पेस', 'क्रिस्टोफ़ाइड्स') (999, 'राल्फ' , 'जैक्सन');