我是第一次使用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并尝试在其后查找水龙头。
请帮助任何人?
答案 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";
希望第一列不包含前导零;)