欢迎来到 榆林市某某通信设备专卖店
全国咨询热线:020-123456789
联系我们

地址:联系地址联系地址联系地址

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

新闻中心
DataWorks开发ODPS SQL开发生产环境自动补全ProjectName
  来源:榆林市某某通信设备专卖店  更新时间:2024-05-03 05:50:38

DataWorks开发ODPS SQL开发生产环境自动补全ProjectName

一 、开开场景描述

DataWorks标准模式下 ,生产支持开发环境和生产环境隔离 ,环境开发环境和生产环境的自动数据库表命名有所区别,如果需要在开发环境访问生产环境的补全数据库表或者跨项目空间A访问项目空间B的表  ,需要根据以下命名规范严格区分数据库表名 ,开开避免误操作生产环境。生产

环境类型

标准模式

示例

开发环境

项目名_dev.表名

在projectA项目下创建一个开发库表user_info,环境则数据库表名为 :projectA_dev.user_info。自动

生产环境

项目名.表名

在projectA项目下创建一个生产库表user_info ,补全则数据库表名为:projectA.user_info 。开开

跨项目开发环境

项目名_dev.表名

在projectB项目下创建一个开发库表user_info,生产projectA需要访问该数据库表则数据库表名为:projecB_dev.user_info 。环境

跨项目生产环境

项目名.表名

在projectB项目下创建一个开发库表user_info ,自动projectA需要访问该数据库表则数据库表名为 :projectB.user_info 。补全

开发环境SQL任务中需要使用【开发环境空间.表名】projectA_dev.user_info来使用表,发布到生产环境时  ,需要手动把开发环境空间改成生产环境空间名称projectA.user_info才能发布 。

二、实现方案

1 、方案一使用赋值节点

1.1 方案思路

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

1.2 方案存在的问题

赋值节点目前仅支持ODPS SQL 、SHELL和Python2三种赋值语言 。使用Python2需要下载odps包。且在代码中连接odps需要指定AK和ProjectName。此方案虽然可以实现获取上游结果赋值给下游使用,但是灵活切换想看空间名称看起来无法满足用户场景 。

那我们考虑使用DataWorks一般节点Pyodps手动添加上游输出参数的话。下游使用赋值节点或者参数节点是否可行呢 ?

时间测试发现此方案也存在问题。

因为节点上下文参数仅用于上游节点的节点上下文输出参数作为下游节点的节点上下文输入参数,无法直接将上游节点的查询结果传递到下游 ,如果您需要将上游节点的查询结果传递到下游节点,可以使用赋值节点 。

2 、方案二使用流程参数

当整个业务流程需要对同一个变量统一赋值或替换其参数值时,您可以使用流程参数功能 。当流程参数的赋值与单个节点参数的赋值不一致时,流程参数的赋值会覆盖节点的参数赋值 。

2.1 配置节点参数

本文以跨项目空间为例。在项目空间bigdtata_ljw_test访问项目空间bigdatazjpoc下的表数据。

  • 调度配置参数中设置参数

projectname=bigdatazjpoc_dev

  • 代码中引用参数配置

--代码中引用:当前的项目名称为bigdtata_ljw_test select * from ${ projectname}.user_info_delta;

配置如下图所示:

DataWorks开发ODPS SQL开发生产环境自动补全ProjectName

2、配置流程参数

参数名称 :projectname

参数值或者表达式:bigdatazjpoc

⚠️ 注意:流程参数的名称需要和节点名称一致。

DataWorks开发ODPS SQL开发生产环境自动补全ProjectName

三、方案验证

由于节点中有设置参数 。在开发环境单节点测试需要使用冒烟测试或者高级运行 。高级运行时此时参数使用的是bigdatazjpoc_dev及跨项目空间的开发环境  。满足开发环境访问开发环境的需求。

DataWorks开发ODPS SQL开发生产环境自动补全ProjectName

开发环境整个业务流程测试是参数手动输入bigdatazjpoc_dev ,测试运行访问的同样是开发环境的表数据  。

DataWorks开发ODPS SQL开发生产环境自动补全ProjectName

提交到生产环境补数据运行,可以看到此时执行参数为流程参数配置的生产环境的project。(忽略截图中运行失败 ,是由于权限问题 。)

这是由于当流程参数的赋值与单个节点参数的赋值不一致时 ,流程参数的赋值会覆盖节点的参数赋值 。流程参数我们配置即为跨项目空间对用的生产环境的项目空间。满足此场景 。

DataWorks开发ODPS SQL开发生产环境自动补全ProjectName

四 、总结

针对跨项目空间访问表数据和开发生产环境隔离访问表数据场景。不需要频繁修改项目空间名称可通过DataWorks流程参数功能实现 。

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

本文为阿里云原创内容 ,未经允许不得转载 。


友情链接TBC怀旧服:开荒海山必备的三件最强物品,全部产自60年代!心理与社会治疗模式概述梦幻西游人物加点属性(梦幻手游角色刷图教程)新款网游推荐2023 高人气的网络游戏下载合集极品飞车15:变速2 免安装中文学习版【整理重发】浅谈三国杀S5统帅三军cc加速器永久免费加速5.0挑战模式金牌全攻略 附奶牧小心得《幻塔》密码锁密码汇总介绍【TBC攻略】燃烧的远征坐骑获取大全(下)买穿越火线手游cdk哪里好,cf的CDKEY怎么获得流放之路——S21判官正火(萌新们开荒指南)免费经典单机游戏下载手机游戏大全2021 好玩的免费经典单机游戏排行榜推荐全新游戏财产保护措施—仓库锁登场浙江省黄龙体育中心举行2023年度先进表彰暨2024年工作部署大会梦幻西游种植摇钱树苗攻略(最新梦幻西游种摇钱树攻略)宝宝得湿疹怎么办梦幻西游胡姬琵琶行副本翻新攻略,大神详细讲解与题库更新mm中文版小游戏大全只需要138元的2K平板电脑诺基亚N1有什么好玩的pk类网游推荐 2023火爆的pk格斗网游合集大芒果魔兽世界335GM命令暗黑破坏神游戏专区2018DNF9月4日数字解密答案是什么 DNF9.4数字解密正确答案数字是多少斯通纳德传送门的简单介绍dnf2024春节套回血计算魔兽世界plus输出法师P1毕业天赋符文配装推荐仙剑的前世今生——带你回顾二十年的兴衰和感动电玩女神阿狸皮肤介绍 lol五周年狐狸电玩皮肤视频展示炽焰之啄颅剑 (Skullfire Sword)干货|Kana老师美国红房子,ML进修全攻略!阴阳师12月21日活动有哪些 12月21日活动更新内容火柴人战争DNF:夏日套全细节展示!8套送2张龙袍升级券,值得入手吗?活动预告|新手小将军错过活动再等数月?专属集市来帮你!大型网络游戏大全前十名推荐2021 热门大型网游排行榜摩尔庄园神奇密码是什么 神奇密码2023最新攻略魔兽世界plus输出法师P1毕业天赋符文配装推荐梦幻西游洗合宝宝技巧 梦幻西游里用金柳露洗BB有什么技巧?时光回溯之旅的虚无不好通?简单教程一览
联系我们

地址:联系地址联系地址联系地址

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

0.2012

Copyright © 2024 Powered by 榆林市某某通信设备专卖店   sitemap