Jak wstawić dużą ilość danych do bazy danych ClickHouse?
Mam uruchomioną instancję serwera ClickHouse i pomyślnie połączyłem się z nią za pośrednictwem klienta. Używam Tabix.io do uruchamiania zapytań. Utworzyłem bazę danych i tabelę o nazwie „nazwy”. Chcę wprowadzić wiele losowo generowanych nazw w tej tabeli. Wiem, że uruchamianie wielu poleceń, takich jak to:
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');
nie jest obsługiwana, dlatego wykonywane jest tylko pierwsze zapytanie. Innymi słowy, tylko Stephana Bromell pojawia się w tabeli „imiona”.
Jaka jest alternatywa ClickHouse do wstawiania większych ilości danych?
Odpowiedzi
Co powiesz na wstawianie wsadowe za pomocą klienta HTTP z CSV
- utwórz plik csv (names.csv) z zawartością:
1,Stephana,Bromell
2,Babita,Leroux
3,Pace,Christofides
...
999,Ralph,Jackson
- wywołanie HTTP API:
curl -i -X POST \
-T "./names.csv" \
'http://localhost:8123/?query=INSERT%20INTO%20names%20FORMAT%20CSV'
wiele wartości w jednej wkładce.
wstaw do nazw (id, imię, nazwisko) wartości (1, 'Stephana', 'Bromell') (2, 'Babita', 'Leroux') (3, 'Pace', 'Christofides') (999, 'Ralph') , „Jackson”);