我是靠谱客的博主 烂漫白猫,这篇文章主要介绍ClickHouse exception, code: 41 ClickHouse修改表字段类型后查询异常 遇到的坑ClickHouse exception, code: 41ClickHouse修改表字段类型后查询异常遇到的坑,现在分享给大家,希望可以做个参考。

ClickHouse exception, code: 41

ClickHouse修改表字段类型后查询异常遇到的坑

由于把clickHouse表中的xxx字段类型string改为DateTime 出现如下错误

复制代码
1
2
3
4
5
ClickHouse exception, code: 41, host: 192.168.0.123, port: 8123; Code: 41, e.displayText() = DB::ParsingException: Cannot parse datetime: Cannot parse DateTime from String: while executing 'FUNCTION CAST(xxx :: 17, 'DateTime' :: 37) -> CAST(xxx, 'DateTime') DateTime : 36': (while reading from part /clickhouse/clickhouse/xxxxxx/): While executing MergeTree (version .... (official build))

1.修改字段类型 (修改后可能会出现查询异常)

复制代码
1
2
ALTER TABLE db_name.table_name MODIFY COLUMN endTimestamp Int64;

条件允许的情况下(数据有备份 或者有方法再恢复) 把表删除,再重启创建表

复制代码
1
2
3
4
5
6
7
8
9
10
-- 删除表 DROP table db.本地表 -- 然后再创建表 此时记得把类型改好 CREATE TABLE db.table( `id` UInt64, `name` String, `deleted` UInt8, `createdAt` DateTime, `updatedAt` DateTime)ENGINE = ReplacingMergeTree(updatedAt) ORDER BY (id) PRIMARY KEY(id) SETTINGS index_granularity = 8192

2.其他相关命令

修改字段名称

复制代码
1
2
ALTER TABLE db_name.table_name RENAME COLUMN regionId to region;

添加字段

复制代码
1
2
ALTER TABEL db_name.table_name ADD COLUMN `$user_id` Nullable(String);

删除字段

复制代码
1
2
ALTER TABEL db_name.table_name DROP COLUMN `$user_id`;

最后

以上就是烂漫白猫最近收集整理的关于ClickHouse exception, code: 41 ClickHouse修改表字段类型后查询异常 遇到的坑ClickHouse exception, code: 41ClickHouse修改表字段类型后查询异常遇到的坑的全部内容,更多相关ClickHouse内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部