Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to insert data to Clickhouse from file by HTTP-interface?

I want to insert data to ClickHouse per HTTP-interface from file. CSV, JSON, TabSeparated, it's doesn't matters.

Or insert data to Docker-container uses yandex/clickhouse-server.

Using HTTP-interface, for example:

cat source.csv | curl 'http://localhost:8123/?query=INSERT INTO table FORMAT CSV'

Using Docker-container, for example:

docker run -it --rm --link some-clickhouse-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server {THERE SOME OPTIONS ABOUT INSERT FROM FILE}

Thanks.

like image 523
frops Avatar asked Dec 28 '25 23:12

frops


2 Answers

curl 'http://localhost:8123/?query=INSERT+INTO+TABLE(field)+VALUES(data)%3b'

or

curl -d 'INSERT INTO T FORMAT JSONEachRow {"dataTime":"2020-12-19 03:00:00","transmit_bytes_max":123};' 'http://9.118.102.189:9200/?database=default'

or

curl 'http://localhost:8123/?query=INSERT%20INTO%20TABLE%20FORMAT%20CSV' --data-binary @source.csv

like image 57
Vincent Avatar answered Dec 30 '25 15:12

Vincent


cat source.csv | curl 'http://localhost:8123/?query=INSERT%20INTO%20table%20FORMAT%20CSV' --data-binary @-

like image 26
Ivan Blinkov Avatar answered Dec 30 '25 17:12

Ivan Blinkov