tongchenkeji 发表于:2023-6-13 13:38:520次点击 已关注取消关注 关注 私信 请问下,ADB 的表改字段要怎么改,我改了提示报错?[阿里云云原生数据仓库] 暂停朗读为您朗读 请问下,ADB 的表改字段要怎么改,我改了提示报错? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 云原生数据仓库AnalyticDB# 云原生数据仓库 AnalyticDB PostgreSQL版825
游客uj6xec5prhogyAM 2023-11-27 22:32:55 1 目前只能重建表,先创建一个新的主键表,然后使用INSERT OVERWRITE INTO SELECT将源表的数据导入到新的主键表中,然后重命名互换表名。重建表的流程同更改分区键/分布键:https://www.www.tongchenyun.com/wp-content/uploads/aliyun/2023/1128/alter-table](https://www.www.tongchenyun.com/wp-content/uploads/aliyun/2023/1128/wyvq5mjsckydw_8fb8073780714131a7d3dc8aebaf3a54.png),此回答整理自钉群“云数据仓库ADB-开发者群”
飞云觅宙AM 2023-11-27 22:32:55 2 ADB分析型数据库,是阿里云平台上资源,原名叫云原生数据仓库AnalyticDB Mysql,俗称ADB分析型数据库,云原生数据仓库AnalyticDB MySQL版支持通过ALTER TABLE修改表。 AnalyticDB MySQL集群不支持更改分区键和分布键。如果您的业务必须更改分区键或分布键,可通过以下方案解决。 假设您有一个表order需要将现有分布键order_id更改为customer_id,操作如下: 使用分布键customer_id创建一个临时表order_auto_opt_v1。 使用INSERT OVERWRITE INTO SELECT将源表的数据导入到临时表, 判断分布键是否合理。数据导入后,需要判断新的分布键是否有数据倾斜问题,详情请参见分布字段合理性诊断。 使用RENAME TABLE <源表表名> to ;更改源表表名。 使用RENAME TABLE <临时表表名> to <源表表名>;将临时表表名更改为源表表名。 主键:表必须包含主键。由业务id、一级分区键组成,有些情况业务id与一级分区相同。对于记录量特别大的表,从存储空间和insert性能考虑,一定要减少主键的字段数。 维度表组(系统自带):自带维度概念的表(例如省份表等),可以放到维度表组下,数据库创建完毕后,系统会默认创建一个维度表组,所有维度相关的表,可以放到维度表组下。 更新数据:AnalyticDB不支持update操作,可以通过主键覆盖的方式进行insert操作来实现和update同等的功能。
目前只能重建表,先创建一个新的主键表,然后使用INSERT OVERWRITE INTO SELECT将源表的数据导入到新的主键表中,然后重命名互换表名。重建表的流程同更改分区键/分布键:https://www.www.tongchenyun.com/wp-content/uploads/aliyun/2023/1128/alter-table](https://www.www.tongchenyun.com/wp-content/uploads/aliyun/2023/1128/wyvq5mjsckydw_8fb8073780714131a7d3dc8aebaf3a54.png)
,此回答整理自钉群“云数据仓库ADB-开发者群”
ADB分析型数据库,是阿里云平台上资源,原名叫云原生数据仓库AnalyticDB Mysql,俗称ADB分析型数据库,云原生数据仓库AnalyticDB MySQL版支持通过ALTER TABLE修改表。
AnalyticDB MySQL集群不支持更改分区键和分布键。如果您的业务必须更改分区键或分布键,可通过以下方案解决。
假设您有一个表order需要将现有分布键order_id更改为customer_id,操作如下:
使用分布键customer_id创建一个临时表order_auto_opt_v1。
使用INSERT OVERWRITE INTO SELECT将源表的数据导入到临时表,
判断分布键是否合理。数据导入后,需要判断新的分布键是否有数据倾斜问题,详情请参见分布字段合理性诊断。
使用RENAME TABLE <源表表名> to;更改源表表名。
使用RENAME TABLE <临时表表名> to <源表表名>;将临时表表名更改为源表表名。
主键:表必须包含主键。由业务id、一级分区键组成,有些情况业务id与一级分区相同。对于记录量特别大的表,从存储空间和insert性能考虑,一定要减少主键的字段数。
维度表组(系统自带):自带维度概念的表(例如省份表等),可以放到维度表组下,数据库创建完毕后,系统会默认创建一个维度表组,所有维度相关的表,可以放到维度表组下。
更新数据:AnalyticDB不支持update操作,可以通过主键覆盖的方式进行insert操作来实现和update同等的功能。