首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Docker容器clickhouse-client将CSV数据导入表

如何通过Docker容器clickhouse-client将CSV数据导入表
EN

Stack Overflow用户
提问于 2018-05-04 09:29:49
回答 1查看 5.6K关注 0票数 1

我正在使用Docker for Windows:

  • 码头版18.03.1-ce-win64 64
  • 船坞引擎18.03.1-ce
  • ClickHouse客户端版本1.1.54380
  • ClickHouse服务器版本1.1.54380

为了将数据从表导出为CSV格式,我使用以下命令:

  1. 现在运行用于导出的clickhouse-client容器 $ docker运行-it --rm -链接clickhouse-服务器:clickhouse-client yandex/clickhouse- -m -query=“select* from default.table1 default.table1 CSV”> C:/Users/sony/Desktop/table1_data.csv -主机clickhouse-server 注意到:上面的命令工作得很好。
  2. 现在运行clickhouse-client容器进行导入 $ docker run -it --rm -链接clickhouse-服务器: clickhouse-client yandex/clickhouse-client -m -c "cat C:/Users/sony/Desktop/table1 1_data.csv clickhouse-client-host clickhouse-server -query=‘插入default.table1格式CSV’“

你能告诉我进口时我做错了什么吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-05-04 10:41:56

我认为您应该先在容器中挂载csv文件。要挂载文件,您应该在docker命令中添加-v C:/Users/sony/Desktop/table1_data.csv :~/table1_data.csv选项。因此,您的停靠程序运行命令应该如下所示:

代码语言:javascript
复制
$ docker run -it --rm --link clickhouse-server:clickhouse-client yandex/clickhouse-client -m -v C:/Users/sony/Desktop/table1_data.csv:~/table1_data.csv -c "cat ~/table1_data.csv | clickhouse-client --host clickhouse-server --query='INSERT INTO default.table1 FORMAT CSV'"

编辑

是我的错。安装在文件内是行不通的。试一试:

代码语言:javascript
复制
cat path_to_file/table1_data.csv | docker run -i --rm --link clickhouse-server:clickhouse-client yandex/clickhouse-client -m --host clickhouse-server --query="INSERT INTO default.table1 FORMAT CSV"

已经在linux上试过了,而且可以工作。由于cat不适用于Windows,所以我发现type具有相同的功能,老实说,还没有尝试过:

代码语言:javascript
复制
`type C:/Users/sony/Desktop/table1_data.csv | docker run -i --rm --link clickhouse-server:clickhouse-client yandex/clickhouse-client -m --host clickhouse-server --query="INSERT INTO default.table1 FORMAT CSV"` 

希望它能成功。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50171651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档