5

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

4

3 に答える 3

5

ありがとうuYSIZfoz:

ファイルには BOM (先頭に EF BB BF バイト) があります。

私の場合、元のファイルのヘッダー行に BOM がありました。CSVWithNames 形式を使用して、最初の行をロードしないようにしました。

猫/tmp/qv_stock_20160623035104.csv | clickhouse-client --query="INSERT INTO ストック フォーマット CSVWithNames";

于 2016-06-24T07:07:19.377 に答える
0

このコンマがフォーマットを台無しにしていると思います

2010,646,1.00,13

すべてのコンマを削除してから、Int として挿入し直してください。

于 2017-10-27T05:55:41.223 に答える