当前位置: 首页 > 网络应用技术

DataWorks开发ODPS SQL开发和生产环境自动完成项目名称

时间:2023-03-07 23:56:16 网络应用技术

  简介:在DataWorks标准模式下,有不同的数据库表支持开发和生产环境的开发,以及开发环境和生产环境的数据库表。表格命名规格以避免生产环境的错误操作。[开发环境空间。表名称]在开发环境的SQL任务中必须使用表。发布到生产环境时,您需要手动将开发环境空间更改为生产环境空间名称以要发布。本文基于DataWorks的名称,该名称可以自动识别DataWorks开发环境中开发环境的名称并在生产环境中使用生产环境。

  在DataWorks标准模式下,开发环境和生产环境,开发环境和生产环境数据库表名称的名称存在差异。根据以下命名规格,按下数据库表名称,以避免对估算错误的计算。生产环境。

  环境的

  标准模式

  模范

  发展环境

  project name_dev。表名

  在Projecta Project下创建开发库User_info,然后数据库表为:Projecta_dev.user_info。

  生产环境

  项目名。表名

  在Projecta项目下创建生产库User_info,数据库表命名为:Projecta.user_info。

  交叉点

  发展环境

  project name_dev。表名

  要在ProjectB Project下创建开发库USER_INFO,Projecta需要访问数据库表,并且数据库表命名为:ProJecb_dev.user_info。

  交叉点

  生产环境

  项目名。表名

  要在ProjectB Project下创建开发库USER_INFO,Projecta需要访问数据库表,并且数据库表命名为:ProjectB.USER_INFO。

  开发环境SQL任务需要使用[开发环境空间。表名称] Projecta_dev.user_info使用表。发布到生产环境时,您需要手动将开发环境空间更改为生产环境空间名称projecta.user_info才能发布。

  通过Python SDK get_project方法获取项目名称。然后使用分配节点向下游节点提供上游节点任务的结果。

  作业节点当前仅支持三种作业语言:ODPS SQL,Shell和Python2.您需要使用Python2.2.您下载ODPS包,并且在代码中连接ODP需要指定AK和ProjectName。尽管可以将此方案分配给下游结果对于下游结果,灵活的切换以查看空间名称无法满足用户场景。

  然后,我们考虑使用DataWorks常规节点PYODP来手动添加上游输出参数。使用分配节点或参数节点下游是否可行?

  时间测试发现该解决方案也存在问题。

  由于节点上下文的上下文仅用于上游节点的上下文,因此下游节点输入参数的输出参数不能直接传递到上游节点查询结果到下游。如果您需要将上游节点的查询结果传递到下游节点,则可以使用分配节点。

  当需要分配或用相同变量替换整个业务过程时,您可以使用过程参数函数。当过程参数的分配与单个节点参数的分配不一致时,该过程参数的分配涵盖了节点的参数分配。

  本文以横向项目为例。

  projectName = bigDatazjpoc_dev

  配置如下图所示:

  参数名称:projectName

  参数值或表达式:bigdatazjpoc

  数娘注意:过程参数的名称需要与节点名称一致。

  因为在节点中存在设置参数。在开发环境中的单个节点测试中,您需要使用吸烟测试或高级操作。这次,参数使用BigDatazjpoc_dev和交叉点向空间开发环境。满足开发环境对开发环境的需求。

  开发环境的整个业务流程测试是手动输入BigDatazjpoc_dev的参数。测试了开发环境开发环境的访谈。

  提交给生产环境补充操作,您可以看到此时执行参数的生产环境的投影。(忽略屏幕快照中的故障是由于权限问题所致。

  这是因为当过程参数的分配与单个节点参数的分配不一致时,过程参数的分配将覆盖节点的参数分配。过程参数是交叉生产环境的所有项目空间-Project Space.Meet此场景。

  对于交叉点空间访问数据和开发和生产环境隔离表数据方案。无需经常修改项目空间名称以实现DataWorks Process参数函数。

  原始链接:http://click.aliyun.com/m/1000346941//1000346941/

  本文是阿里巴巴云的原始内容,未经许可就无法重印。

  原始:https://juejin.cn/post/71127377877396227079