阿里云大数据实战记录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:[email protected]:xxx; No permission ‘odps:Alter’ on resource acs:odps::projects/test_project/tables/test_users

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

2.2 查看修改结果

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

数据地图
阿里云大数据实战记录5:修改生产环境表单字段名称_第1张图片

表管理
阿里云大数据实战记录5:修改生产环境表单字段名称_第2张图片
注:由于实际上我没有这个表单,所以搜索不到。

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

2.3 提交生成环境

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

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

如果在提交的时候,开发环境的表单和生产环境的表单存在字段名称不相同的情况,会报错(如下),所以必须保证同时将开发环境表单和生产环境的表单都修改一致!
阿里云大数据实战记录5:修改生产环境表单字段名称_第4张图片

2.4 修改外表

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

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

三、小结

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

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


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





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

你可能感兴趣的:(阿里云大数据,阿里云,大数据,云计算)