clickhouse数据导出备份和恢复

 

1.导出/导入(导出文件大小与原始大小一致):
clickhouse-client --query="select * from db_test.app_message_80" >/tmp/app_message_80.tsv

复制代码
查看表大小
SELECT
    database,
    table,
    sum(rows) AS `总行数`,
    formatReadableSize(sum(data_uncompressed_bytes)) AS `原始大小`,
    formatReadableSize(sum(data_compressed_bytes)) AS `压缩大小`,
    round((sum(data_compressed_bytes) / sum(data_uncompressed_bytes)) * 100., 2) AS `压缩率/%`
FROM system.parts
WHERE table = 'app_message_80'
GROUP BY
    database,
    table
ORDER BY database ASC

Query id: 0eb5dc3c-fa4a-4833-99c3-6662263f777c

┌─database─┬─table──────────┬──总行数─┬─原始大小─┬─压缩大小───┬─压缩率/%─┐
│ db_test  │ app_message_80 │ 32327031.11 GiB │ 238.86 MiB │     21.1 │
└──────────┴────────────────┴─────────┴──────────┴────────────┴──────────┘

1 rows in set. Elapsed: 0.005 sec. 

导出文件大小(1.3GB)
[root@localhost data]# ls -al /tmp/app_message_80.tsv
-rw-rw-r-- 1 root root 1331188647 Jan 13 17:46 /tmp/app_message_80.tsv

压缩后文件大小(200M),发现压缩后跟在clickhouse中的占用的查不多

[root@localhost tmp]# ls -al app_message_80.tsv.gz
-rw-rw-r-- 1 root root 215100950 Jan 13 17:46 app_message_80.tsv.gz



复制代码

 

导入(事先truncate表,注意FORMAT后面大写,多个文件可以使用cat /tmp/app_message*):
cat /tmp/app_message_80.tsv | clickhouse-client --query="insert into db_test.app_message_80 FORMAT TSV"

 

posted @   slnngk  阅读(659)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-01-13 postgresql日常管理
2020-01-13 postgresql 11.6 源码安装
点击右上角即可分享
微信分享提示