Bagaimana cara memasukkan sejumlah besar data ke ClickHouse DB?

Dec 21 2020

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

5 Yongfeng Dec 23 2020 at 11:12

Bagaimana dengan memasukkan batch menggunakan klien http dengan CSV

  1. buat file csv (names.csv) dengan konten:
1,Stephana,Bromell
2,Babita,Leroux
3,Pace,Christofides
...
999,Ralph,Jackson
  1. panggil HTTP API:
curl -i -X POST \
   -T "./names.csv" \
 'http://localhost:8123/?query=INSERT%20INTO%20names%20FORMAT%20CSV'
4 DennyCrane Dec 22 2020 at 05:11

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');