数据导入整数从零开始

时间:2019-07-11 09:21:09

标签: clickhouse

我是第一次使用clickhouse,并且在执行这样的导入操作时:

cat /home/data/_XDR_IMPORT_1001_20001010_000001_.tsv | clickhouse-client --password=123 --query="INSERT INTO ts FORMAT TSV";

它给我一个错误:

  

第13列,名称:dpc,类型:Nullable(Int32),已解析的文本:“ 0”   错误:Nullable(Int32)后出现垃圾:“ 3242”

这是因为我有一个类型为Int32的列(dpc),并且此列的值为03242,所以似乎导入过程仅使用0并尝试在其后查找水龙头。

请帮助任何人?

2 个答案:

答案 0 :(得分:0)

将dpc字段更改为字符串 并添加新列

ALTER TABLE ts
ADD COLUMN dpc_int UInt64 MATERIALIZED toUInt64(dpc);

答案 1 :(得分:0)

好的,您可以使用以下命令:

sed -E "s/(\t+)0([0-9]+)/\1\2/g" 1.tsv /home/data/_XDR_IMPORT_1001_20001010_000001_.tsv | clickhouse-client --password=123 --query="INSERT INTO ts FORMAT TSV";

希望第一列不包含前导零;)