阿里云大数据实战记录5:修改生产环境表单字段名称


一、前言

前阵子,想在阿里云 dataworks 开发一张表单,但是搜索后发现历史已经有小伙伴新建了,只是需要新增一些字段,而且由于一些字段命名不规范,需要进行修改。

一般情况下,不会对生产表的字段进行修改,因为如果表单被多次调用的话,可能会有意料不到的错误在前面等着,不过经过一番搜索查证,发现这表单似乎没有被使用过(不然我也不会知道还有这表,还规划搭建相关的数据模型)。

那就把名字改一下吧!

二、修改字段名称流程

本次修改的表单是在标准模式下执行。标准模式下,开发环境和生产环境是隔离开的,所以需要两边都进行操作,如果是简单模式,开发环境和生产环境不分家,则一次操作即可。

2.1 修改字段名称

在标准模式下,需要修改两张表,一个是开发环境表和生产环境表。可以在 dataworks 对应的节点中输入 Alter 代码进行修改,示例如下:

开发环境项目名称:test_project_dev
生产环境项目名称:test_project
表名:test_users

-- 修改开发表字段名
alter table test_project_dev.test_users change column id rename to user_id;
-- 修改生产表字段名
alter table test_project.test_users change column id rename to user_id;

输入代码之后,选中代码块单独执行,即可修改表单的字段名称。

执行的结果,可能会报错:

ODPS-0130013:Authorization exception - Authorization Failed [4019], You have NO privilege ‘odps:Alter’ on {acs:odps::projects/test_project/tables/test_users}. Context ID:xxx-xxx-xxx-xxx —>Tips: CurrentProject:test_project_dev; Pricipal:RAM$xxxxxx@xx.com:xxx; No permission ‘odps:Alter’ on resource acs:odps::projects/test_project/tables/test_users

这是因为没有表单的 Alter 权限,必须先申请该权限才可以成功地执行代码。

2.2 查看修改结果

修改完怎么确认已经修改成功了呢?可以在数据地图搜索表查看表的字段,或者表管理搜索表查看表的字段。

数据地图
image.png

表管理
image.png
注:由于实际上我没有这个表单,所以搜索不到。

确认开发环境和生产环境的表单都更改成功即可。

2.3 提交生成环境

在表管理中,在开发环境下搜索表单,然后双击打开,点击提交到生产环境。

image.png

如果在提交的时候,开发环境的表单和生产环境的表单存在字段名称不相同的情况,会报错(如下),所以必须保证同时将开发环境表单和生产环境的表单都修改一致!
image.png

2.4 修改外表

如果修改名字的是内部表,还有将内部表同步到外部表,则还需要再做一步,将外部表同步修改。不然查不到新修改的字段内容。

具体怎么修改需要看实际的业务流程,包括建外表的方式、是否支持 Alter,如果是通过代码直接建外表,则在代码上修改字段名即可;如果是通过一些可视化操作,在对应的表单上尝试修改,如果不支持 Alter,则通过删表重建实现数据重新同步。

三、小结

1、开发环境和生产环境的表单的字段名要保持一致!这样才可以将开发环境的表提交到生产环境。如果要修改字段名,需要两端都进行修改,再提交。注意一个前提,必须要有开发环境和生产环境相关表单的alter权限。

2、如果有外表也需要重建,修改的字段不会同步更改,会导致查询不到相关的数据。


这个流程还是比较繁琐的,这还不涉及表单的调用,所以能不改尽量不改,前期的数仓表设计多花点功夫做好规范,这很重要!





相关阅读:
阿里云大数据实战记录4:生产环境添加列
阿里云大数据实战记录1:不同模式建表及同步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xin学数据

为你点亮一盏灯,愿你前进无阻。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值