Bagaimana cara memasukkan sejumlah besar data ke ClickHouse DB?
Saya memiliki contoh server ClickHouse yang sedang berjalan dan saya telah berhasil terhubung dengannya melalui klien. Saya menggunakan Tabix.io untuk menjalankan kueri saya. Saya telah membuat DB dan tabel yang disebut "nama". Saya ingin memasukkan banyak nama yang dibuat secara acak di dalam tabel itu. Saya tahu bahwa menjalankan banyak perintah seperti ini:
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');
tidak didukung dan oleh karena itu hanya kueri pertama yang dijalankan. Dengan kata lain, hanya Stephana Bromell yang muncul di tabel "nama".
Apa alternatif ClickHouse untuk memasukkan data dalam jumlah besar?
Jawaban
Bagaimana dengan memasukkan batch menggunakan klien http dengan CSV
- buat file csv (names.csv) dengan konten:
1,Stephana,Bromell
2,Babita,Leroux
3,Pace,Christofides
...
999,Ralph,Jackson
- panggil HTTP API:
curl -i -X POST \
-T "./names.csv" \
'http://localhost:8123/?query=INSERT%20INTO%20names%20FORMAT%20CSV'
beberapa nilai dalam satu sisipan.
masukkan ke dalam names (id, first_name, last_name) nilai (1, 'Stephana', 'Bromell') (2, 'Babita', 'Leroux') (3, 'Pace', 'Christofides') (999, 'Ralph' , 'Jackson');