I created a table in Clickhouse:
CREATE TABLE stock
(
plant Int32,
code Int32,
service_level Float32,
qty Int32
) ENGINE = Log
there is a data file
:~$ 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
I am trying to load data:
:~$ cat /var/rs_mail/IN/qv_stock_20160620035119.csv | clickhouse-client --query="INSERT INTO stock FORMAT CSV";
and I get an error
\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)
what am I doing wrong?
Thank you uYSIZfoz:
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.
I think the commas in this ruining the format
2010,646,1.00,13
Try to remove all the commas, then try to insert it back in as an Int.
Int8 type has range -128..127. 2010 (first value) is out of range of Int8.
If you change table definition, everything is Ok:
Please note, that Int16, which I specified, could be also not enough for your data. Then specify Int32, Int64...