[Doris踩坑记]Caused by: java.sql.SQLException: errCode = 2, detailMessage = Can not modify distribution column[project_name]. index[ads_supplier_plan_purchase_master_plan]

541次阅读
3 条评论

共计 1104 个字符,预计需要花费 3 分钟才能阅读完成。

裴先生在编辑Doris数据库表字段长度时,遇到题目中的报错信息,导致无法成功修改,原因如下:

在Doris中,如果您遇到“Can not modify distribution column[project_name]”的错误,这通常意味着您正在尝试修改一个用作分布键(distribution key)的列。在Doris中,分布键是用来确定数据在不同节点间如何分布的,一旦表被创建,分布键的列就不能被修改。

解决方案

创建新表

获取旧表的表结构:

show create table your_table_name;
-- 表结构如下
CREATE TABLE `your_table_name` (
`project_name` varchar(300) NULL COMMENT "项目名称", 
`material_type` varchar(300) NULL COMMENT "物资类型", 
`material_class` varchar(150) NULL COMMENT "物料分类",
`rfq` varchar(100) NULL COMMENT "日分区" ) ENGINE=OLAP DUPLICATE KEY(`project_name`) COMMENT "****" DISTRIBUTED BY HASH(`material_type`) BUCKETS 3 PROPERTIES ( "replication_allocation" = "tag.location.default: 3", "in_memory" = "false", "storage_format" = "V2" );

重新执行之前,将待修改的字段属性更改,然后重新执行即可,SQL如下:

DROP TABLE your_table_name;
CREATE TABLE `your_table_name` (
`project_name` varchar(300) NULL COMMENT "项目名称", 
`material_type` varchar(300) NULL COMMENT "物资类型", 
`material_class` varchar(150) NULL COMMENT "物料分类",
`rfq` varchar(100) NULL COMMENT "日分区" ) ENGINE=OLAP DUPLICATE KEY(`project_name`) COMMENT "****" DISTRIBUTED BY HASH(`material_type`) BUCKETS 3 PROPERTIES ( "replication_allocation" = "tag.location.default: 3", "in_memory" = "false", "storage_format" = "V2" );
正文完
 1
裴先生
版权声明:本站原创文章,由 裴先生 2024-03-24发表,共计1104字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(3 条评论)
青鱼公务员 评论达人 LV.1
2024-04-09 23:29:56 回复

这个数据库是数据分析用的么

 Windows  Chrome  中国北京北京市皓宽网络
Daphne McCullough 评论达人 LV.1
2024-04-14 17:31:42 回复

Every time I visit your website, I’m greeted with thought-provoking content and impeccable writing. You truly have a gift for articulating complex ideas in a clear and engaging manner.

     中国台湾省远传电信
本站勉强运行: