Clickhouse数据导入 [英] Clickhouse Data Import

查看:160
本文介绍了Clickhouse数据导入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Clickhouse中创建了一个表格:

I created a table in Clickhouse:

CREATE TABLE stock
(
    plant Int32,
    code Int32,
    service_level Float32,
    qty Int32
) ENGINE = Log

有一个数据文件

:~$ head -n 10 /var/rs_mail/IN/qv_stock_20160620035119.csv
2010,646,1.00,13
2010,2486,1.00,19
2010,8178,1.00,10
2010,15707,1.00,4
2010,15708,1.00,10
2010,15718,1.00,4
2010,16951,1.00,8
2010,17615,1.00,13
2010,17616,1.00,4
2010,17617,1.00,8

我正在尝试加载数据:

:~$ cat /var/rs_mail/IN/qv_stock_20160620035119.csv | clickhouse-client --query="INSERT INTO stock FORMAT CSV";

我得到一个错误

\n2010: 7615,1.00,13ion: Cannot parse input: expected , before: 2010,646,1.00,13

Row 1:
Column 0,   name: plant,         type: Int32,   ERROR: text "2010,64" is not like Int32

: (at row 1)

我在做什么错了?

文件: https://yadi.sk/d/ijJlmnBjsjBVc

推荐答案

谢谢uYSIZfoz:

Thank you uYSIZfoz:

您的文件具有BOM(开头为EF BB BF字节).

Your file has BOM (EF BB BF bytes at begin).

在我的情况下,原始文件的标题行中有一个BOM.我只是排除了使用CSVWithNames格式加载第一行的可能性.

In my case was a BOM in the header row of the original file. I simply excluded from loading the first line using the format CSVWithNames.

cat/tmp/qv_stock_20160623035104.csv |clickhouse-client--query ="INSERT INTO stock FORMAT CSVWithNames";

cat /tmp/qv_stock_20160623035104.csv | clickhouse-client --query="INSERT INTO stock FORMAT CSVWithNames";

这篇关于Clickhouse数据导入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆