欢迎来到 周口市某某金属制品经销部
全国咨询热线:020-123456789
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

新闻中心
DataWorks开发ODPS SQL开发生产环境自动补全ProjectName
  来源:周口市某某金属制品经销部  更新时间:2024-05-03 23:25: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/

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


友情链接魔兽世界NPC的ID【精品文档系列】.pdf为疲劳药发愁?7个疲劳药获取渠道大总结DNF:名望不够到不了门槛?1124版本名望改版分析GM免充资源服游戏推荐!精心挑选2022年度热门手游Blasphemous渎神全成就达成攻略DNF赫顿玛尔广场怎么进 dnf酒馆任务流程DNF守护者祭坛攻略 1-12关加点及打法DNF:泰波尔斯重甲升级超界顺序提升率分析,头肩建议优先升级灰烬之灵技能与出装全解析,助你成为DOTA高手lol手游曙光女神出装天赋攻略《魔兽世界怀旧服》猎人纯射击天赋怎么加点 猎人纯射击天赋加点推荐(wow射击猎人天赋)不仅拥有12技能,还携带特殊技能上古灵符鸟居阴阳师召唤阵,阴阳师现世召唤富士山VS鸟居,谁更容易出SSRdnf白金徽章镶嵌buff装哪里三国杀:姜维“同门师兄弟”来袭!《我的世界》自动门制作方法简易教程DNF:过渡性的史诗装备是否要强化附魔?走增幅方向会更好!12月20日1.0.0.5593版本更新公告DNF2020金秋礼包买几套比较合适 2020国庆套买几套最值LOL手游内测资格如何申请 抢先体验报名入口12技能宠物大集结,这就是冠军战队的底蕴!王权女王陛下流程攻略 道具收集攻略魔兽设计师访谈整理:新职业恶魔猎手相关资讯英雄联盟12.4冲击之刃新皮肤炫彩 烈娜塔野火帮艾克上线如何欣赏克苏鲁神话?和一心狂暴说再见!魔兽7.0狂暴战机制说明抖音年龄计算器怎么计算对象生日使用方法说明夏琳奈尔,魔兽世界埃索达 达纳苏斯宠物商人都在哪月球是行星吗?月球为什么不属于行星?炉石传说新版本猜想,有可能是血色修道院,帕奇斯疑似进核心系列扭曲丛林无解阵容!强控突进让对手绝望手游sf平台哪个好不是橙武胜似橙武 盘点魔兽世界60年代经典武器内购破解版手机游戏大全合集下载魔兽怀旧服猎人宝宝技能 魔兽猎人天赋加点推荐攻略我喜欢的小狗优秀作文200字LOL无限火力2021石头人最强出装天赋搭配方法介绍 卡莎无限火力怎么出装(3)仙剑奇侠传手机版单机游戏下载2021十大世界上最好玩的游戏 最受欢迎的世界最好玩的游戏排行榜DNF极限祭坛打法通关全攻略图文详细版
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

1.0854

Copyright © 2024 Powered by 周口市某某金属制品经销部   sitemap