k8s中clickhouse导出导入遇到的问题记录

在k8s环境中操作CK数据库,使用CSV进行数据导入导出时遇到错误。导出成功,但导入时因文件解析问题报错。通过更改CSV列分隔符为竖线|解决了问题,现在能顺利进行导入导出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期,在做k8s相关的项目时,涉及到了ck数据库的导入导出的问题。

一开始就想到采用导出数据到csv文件,再从csv文件导入的做法。所以,导出和导入的语句分别为:

导出:

kubectl exec -it  ck_pod_name -n namespace --clickhouse-client --host=127.0.0.1 --port=9000 --user=username --password=password --query="select * from log.test FORMAT CSV" > /opt/test.csv

其中参数值根据实际值填写,到这里导出是没问题的,导出的csv打开可以看到是以逗号为分割的列数据

但是当导入时会报错,此时导入语句如下:

kubectl exec -it  ck_pod_name -n namespace --clickhouse-client --host=127.0.0.1 --port=9000 --user=username --password=password --query="insert into table log.test FORMAT CSV" < /opt/test.csv

报错内容:cannot parse input:expcted ,at the end of stream

报错内容提示的意思应该是在文件最后缺少逗号,但是csv文件打开看又没有毛病,无解。

后来直接不用默认的逗号分割列,用|来分割试了下,有效,解决问题。

导出导入语句如下:

导出:

kubectl exec -it  ck_pod_name -n namespace --clickhouse-client --host=127.0.0.1 --port=9000 --user=username --password=password --query="select * from log.test FORMAT CSV" --format_csv_delimiter='|' > /opt/test.csv 

导入:

kubectl exec -it  ck_pod_name -n namespace --clickhouse-client --host=127.0.0.1 --port=9000 --user=username --password=password --query="insert into table log.test FORMAT CSV" --format_csv_delimiter='|' < /opt/test.csv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值