欢迎来到 资阳市某某商贸客服中心
全国咨询热线:020-123456789
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

新闻中心
DataWorks开发ODPS SQL开发生产环境自动补全ProjectName
  来源:资阳市某某商贸客服中心  更新时间:2024-05-04 04:44:24

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/

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


友情链接《魔兽世界》制作魔化灵纹布包需要什么材料?袁亦铭:专治“男人那些事儿”的手艺人DNF神器装扮和稀有装扮有什么区别中国首个CAR-T疗法!复星凯特阿基仑赛获批上市和平精英GROZA和AUG如何选择,3个方面重点分析不思议迷宫地狱边境dp怎么完成 地狱边境dp难点介绍王者荣耀新赛季31号更新,两大新模式即将上线,皮肤先用后买,英雄随意玩!拼多多砍价助力群免费是真是假?无主的黑市宝箱 《魔兽世界》中怎么获取黑市宝箱(魔兽世界无主的黑市宝箱是什么开箱机制)DWG冠军皮肤确定会有炫彩,白嫖活动中的日常任务已修复《戒者录》32.戒色1年9个月,地狱向天堂的转变(转载)steam五大最值得一玩的多人对抗游戏英雄联盟手游诺克萨斯之手出装推荐摩尔庄园 移动版游戏v2.5.24011801S新编西游记作文魔兽世界WLK惩戒骑练级详解云顶之弈10.16未来爆伤EZ阵容出装搭配与运营站位洛克王国日记求生之路2怎么联机 求生之路2联机方法《魔兽世界》死亡之翼坐骑怎么获得 死亡之翼坐骑获得方法介绍抖音年龄计算器怎么弄 显示年龄的视频拍摄玩法分享魔兽世界WLK惩戒骑练级详解游戏滞销,帮帮我们!steam夏促特卖游戏推荐梦幻西游摇钱树怎么玩-摇钱树攻略锚点降临礼包游戏资料三国杀online开启江陵侯宝箱累计福利仙剑奇侠传5 属性MOD(暴击连击命中闪避符槽技能等)炉石传说酒馆战公测开始!本月最大福利9个卡包你到手了吗《阿尔萨斯战役新的危机第三章》v1.1.1正式版[war3地图]王者荣耀日之塔选什么英雄好?日之塔英雄推荐哪些比较厉害摩尔庄园手游餐厅食谱有哪些王者荣耀:S26新赛季“冰甲流”关羽玩法,新手也能看懂的教学!CF手游AK47游骑兵抽奖技巧人人车官方王者荣耀战区皮肤大全dnf刃影装备附魔推荐2023 顶级宝珠附魔毕业搭配魔兽世界怀旧服60级6把“神器” 梦寐以求的武器王者荣耀新赛季什么时候开始 新赛季S22开启时间破损的剑柄(破损的剑柄狂暴战选哪个)月神殿在哪(月神殿最后还有人吗?)
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

0.2037

Copyright © 2024 Powered by 资阳市某某商贸客服中心   sitemap