k8s中clickhouse导出导入遇到的问题记录
报错内容:cannot parse input:expcted ,at the end of stream。一开始就想到采用导出数据到csv文件,再从csv文件导入的做法。其中参数值根据实际值填写,到这里导出是没问题的,导出的csv打开可以看到是以逗号为分割的列数据。报错内容提示的意思应该是在文件最后缺少逗号,但是csv文件打开看又没有毛病,无解。近期,在做k8s相关的项目时,涉及到了ck数据库的
近期,在做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
更多推荐
所有评论(0)