欢迎来到 丹东市某某商贸培训中心
全国咨询热线:020-123456789
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

新闻中心
DataWorks开发ODPS SQL开发生产环境自动补全ProjectName
  来源:丹东市某某商贸培训中心  更新时间:2024-05-01 16:46:32

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/

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


友情链接穿越火线枪战王者擎天怎么获得穿越火线枪战王者体验服v1.0.200.500类型:飞行射击大小:1900MB评分:9.8平台:标签:狙击射击穿越火线腾讯游戏穿越火线枪战王者擎天怎么获得?相信很多玩家现在还不知道擎天怎么获得,那么今天小编为大家带来,CF手游擎天获取方法。CF手游擎天获取攻略:传说是威力胜过任何武器十倍的杀人利器,一共结合十余种致命武器于一身,而且每一种武器皆可独挡一面。擎天获取途径:6月游戏推荐:《王泪》之后,又一批大作强势来袭怀旧服荣誉徽章怎么获得77233游戏盒官方版安装包v5.1.3最新版回味盘点DNF里那些经典的异界套 魔法师篇塞尔达波克布林肝脏有什么用dnf召唤师技能加点(地下城与勇士召唤最强加点攻略2023)lol艾克出装打野推荐(这样出装爆发高并且足够灵活)刷200个异次元裂缝(异界)可以获得多少钱?dnf新版巨龙地下城纳特拉的复仇BOSS通关攻略十大破解版手游app平台推荐OW2守望先锋2免费吗?国服还能玩吗?守望先锋2上线日期我的世界神庙种子是什么 神庙种子代码大全BUG天团无悬念!F1天王赛第五期团队赛战报“信息安全”课程习题及参考 答案.doc英雄联盟手游:手游锐雯攻略《魔兽世界》7.2.5新增奖励一览 黑暗神殿掉落850装备天涯明月刀【星鹄织梦】兑换奖励以及需求一览《魔兽世界》plus圣骑士天赋怎么点我的世界神庙种子是什么 神庙种子代码大全《咸鱼之王》上这些武将就能打出高额伤害如何开时空之门深渊?你知道3100的个位数字是几吗? 题目和参考答案彩色消除游戏攻略,消颜色的游戏建议:《WOW金币悉数登场:探索与战斗的终极奖励》风色幻想3修改器风灵月影版2023下载【迷你世界】皮肤激活码大全2024汇总,你想要的这里都有王者荣耀镜的欢迎会禁慢天堂 王者荣耀:镜的欢迎会与禁慢天堂的碰撞国内女演员万茜收到《魔兽世界》15周年生日礼物!《奇迹暖暖》冬天里的一把火高分搭配图文教程 冬天里的一把火最佳搭配lol手游折磨流寒冰玩法推荐【三国杀】【燃己】1216OL正式服更新谋姜维、费祎、界简雍上线制图速递DOTA2灰烬之灵强势出装 想切入后排轻而易举金铲铲激战星海:刺客劫怎么玩?阵容搭配与出装口袋妖怪绿宝石精灵性格对应图表(口袋妖怪绿宝石性格攻略)正在阅读:原神三个匣子的最终藏宝密室在哪原神三个匣子的最终藏宝密室在哪《龙珠格斗Z》图文评测:像超级赛亚人一样战斗吧!Xinputemulator中文版 3.272017大型单机手机游戏TOP10 热门大型单机手机游戏推荐洗练合宠手把手教程 人人都有满技能宝宝
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

0.1877

Copyright © 2024 Powered by 丹东市某某商贸培训中心   sitemap