最近,ODPS从简单模型更新成开发/生成模式。差异比较大,特别对开发完成后的自测造成很大影响。将需要注意的点总结如下。
以下以btime_recommand项目为例,对应的默认开始模式项目为btime_recommand_dev.
(1)开发模式下,默认读取和生成的都是开发环境下的表
因此,测试的时候,如果要读正式的表,需要加上前缀:btime_recommand。
正式合入代码的时候,最好去掉这些前缀。
(2)表的新建要保证在使用前建
发现,之前很多表是在临时查询里建的。以后,这种方式不可取。开发模式下,默认表的新建在开发模式下的,正式没有对应的表。
(3)函数调用
开发模式下,对已经发布在线上的函数,调用时需要加上前缀:recommand。对于新增的函数,还未发布的,如果调用找不到,则增加前缀:recommand_dev。
(4)本地udf函数测试
开发模式的表默认在recommand_dev项目中,因此工程需要加上recommand_dev项目才能同步到对应的表。
(5)新旧版工作流的问题
旧版工作流,如果当天流程有改动,第二天才能生效。代码是立即生效。
新版工作流,流程、代码都是当天生效。因此,最好将现在旧版的工作流都更新成新版,或者提前准备好旧版工作流改动带来问题的解决方法。
(6)自测成功后,代码提交注意点:
a.gitlab提交udf代码
b.ODPS提交最新代码编译的package,并发布
c.ODPS查看确认每个新增函数,并发布
d.ODPS提交sql代码,模块属性修改,并发布