Clickhouse 批量执行SQL文件等常用语句
有一堆或者太长的SQL需要执行,可以写成一个文件,批量执行:clickhouse-client --user 用户名 --password 密码 -d 数据库 --multiquery </root/temp.sql查看SQL的执行计划:clickhouse-client -h localhost --send_logs_level=trace<<<"SQL语句" >
·
有一堆或者太长的SQL需要执行,可以写成一个文件,批量执行:
clickhouse-client --user 用户名 --password 密码 -d 数据库 --multiquery < /root/temp.sql
查看SQL的执行计划:
clickhouse-client -h localhost --send_logs_level=trace <<<"SQL语句" >/dev/null
导入为csv文件:
clickhouse-client --query="select * from default.t_city" > city.csv
或者
# echo 'select * from default.t_city' | curl localhost:8123?database=default -udefault:password -d @- > table_name.sql
导入csv文件:
# cat city.csv | clickhouse-client --query "insert into city FORMAT CSV"
比较小的数据量导出csv文件,带上字段名,然后导入
Clickhouse> select * from default.t_city INTO OUTFILE '/data/t_city.csv' FORMAT CSVWithNames;
SELECT *
FROM default.t_city
INTO OUTFILE '/data/t_city.csv'
FORMAT CSVWithNames
8 rows in set. Elapsed: 0.050 sec.
#cat /data/t_city.csv | clickhouse-client --query="INSERT INTO default.t_city FORMAT CSVWithNames" --password
当数据存在两个集群或者主机的时候可以采用方法:
insert into default.t_city VALUES
select * from remote('127.0.0.1:9000', default, t_city);
当数据巨大的时候可以采用官方提供的工具clickhouse-copier:
clickhouse-client --host <source> -q "SELECT * FROM default.t_city FORMAT CSVWithNames" | \
clickhouse-client --host <target> --port 9000 -q "INSERT INTO defualt.t_city FORMAT CSVWithNames"
利用linux的管道命令 节省内存,磁盘和运行时间。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献11条内容
所有评论(0)