欢迎来到 厦门市某某地暖科技培训学校
全国咨询热线:020-123456789
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

新闻中心
DataWorks开发ODPS SQL开发生产环境自动补全ProjectName
  来源:厦门市某某地暖科技培训学校  更新时间:2024-05-02 20:04:01

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/

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


友情链接王者荣耀黄忠出装推荐 最强射手黄忠玩法玄幻小说世界构架与等级设定LOLS6天赋加点大全 S6皇子璐璐薇恩拉克丝天赋图王者荣耀:S22更新,6ban位确认,2版答案发表。R.LGD.YZK王者荣耀S19新赛季对抗路坦克地位提高,而花木兰正悄然崛起!DNF:28号商店暗藏玄机!保护券7折成笑话,武器装扮逼氪玩家恶魔城x年代记 攻略,恶魔城X历代记完美结局的打法psp僵尸危机4双人无敌版正在阅读:英雄联盟西部魔影通行证任务攻略大全:LOL西部魔影币2022获取途径一览英雄联盟西部魔影通行证任务攻略大全:LOL西部魔影币2022获取途径一览摩尔庄园可以换特产吗明日方舟焰影苇草专三材料需要什么介绍死亡突围勋章怎么获得,cf怎么快速刷突击兵徽章构建产业生态,迷你世界助推西安数字创意产业转型发展暮白首中任嘉伦的林敬是否表演痕迹太重?今日刚开传奇游戏sf服下载梦幻模拟战海底祭坛怎么打搜狗输入法繁体字怎么切换?搜狗输入法繁体字切换教程魔兽世界筋斗云怎么获得 **魔兽世界:揭秘筋斗云的获取之路**《原神》枫丹钓鱼武器灰河渡手满精获取攻略永久免费破解单机手游大全-无需联网的单机内购破解游戏合集dnf暗精灵遗迹在哪里 dnf暗精灵遗迹怎么进暗黑3死灵法师攻略(死灵法师SOLO入门攻略)[心得]DNF装备掉落分布大全玩bt游戏上八门神器火炬之光2如何合成洗点药水王者荣耀好友回归积分商店怎么进原神微暗之火任务怎么做地摊大排档红包版PC版下载地址分享 地摊大排档红包版PC版安装教程《魔兽世界》plusP2防骑团本前BIS装备推荐一览《魔兽世界》来点正能量!大家讲讲自己当年跟过的好会长我的世界平原种子指令大全-我的世界平原种子代码2021《dnf》解密幸运数字2022 活动玩法介绍新仙剑奇侠传 中文完美硬盘版赵信出装11.6(赵信出装2024打野)天命四方·国战丨S18新赛季游历武将&剧本技能爆料!你对游戏《暗黑破坏神4》有哪些期望?阴阳师现实召唤图案必出ss(阴阳师现世召唤阵高概率图案汇总)LOL美服快讯:麦林炮手皮肤原画更新王者荣耀:西施新皮肤即将上线,18款限定皮肤即将返场乌龟服魔兽世界(turtle wow)游戏攻略
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

0.2315

Copyright © 2024 Powered by 厦门市某某地暖科技培训学校   sitemap