Как вставить большой объем данных в базу данных ClickHouse?
У меня работает экземпляр сервера 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 для вставки больших объемов данных?
Ответы
Как насчет пакетной вставки с использованием http-клиента с CSV
- создать csv файл (names.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'
несколько значений в одной вставке.
вставить в имена (id, first_name, last_name) значения (1, 'Stephana', 'Bromell') (2, 'Babita', 'Leroux') (3, 'Pace', 'Christofides') (999, 'Ralph' , «Джексон»);