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

近期,在做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

你可能感兴趣的:(k8s,clickhouse,kubernetes,clickhouse,容器)