欢迎来到 铁岭市某某化工涂料运营部
全国咨询热线:020-123456789
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

新闻中心
DataWorks开发ODPS SQL开发生产环境自动补全ProjectName
  来源:铁岭市某某化工涂料运营部  更新时间:2024-04-30 00:34:29

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/

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


友情链接王章俊:你所不了解的物种进化人民财评:无货源开店躺赚?小心赔了夫人又折兵李彦宏:目前无人车普及仍面临“四不一难”的问题江西科技师范大学:双网络水凝胶用于稳定、高效的太阳能蒸汽发生网络入侵检测-扫描类攻击我,90后程序员,在中国农村赚美元高通骁龙8 Gen 2将提前发布,冲iPhone14的机友们稍等特斯拉举行虚拟电厂反向供电活动 用户一晚赚了500元Web3创造者经济研究(二)张伟:基于大数据技术的会计核算服务苹果14pro显示实际效果图通知 | 推荐新一代人工智能示范应用场景智数舆情 | 2022年7月插电式混动汽车销量排行分析简报-新能源适合老年人的代步小车,雷丁芒果最高涨3千元,5门4座,续航200km电解制氢新突破,2050年效率将高达98%,纯电汽车将迎来危机?互联网+种植养殖雷神T-Paper 10.3英寸墨水屏平板开启众筹:支持转写分享,仅售2999元实拍比亚迪汉EV 2022款:零百加速7.9秒,最大续航里程715KM币圈9月项目大事件一览!来看看除了以太坊合并,还有哪些项目华为发布会9月6日不见不散!Mate50系列人贩子寸步难行,6年找回4960个孩子,阿里开发的打拐神器有多狠?微软Access之后,惊现国产新式数据处理软件,风头正盛惠普AMD新游戏本又稳又准,配6800H和RTX3050,售价6299元荣耀新款折叠屏将于第四季度发布小米车辆控制专利公布,可防止碰撞路边开门车辆辰韬资本林新正:无人驾驶商业化落地将驱动相关产业生态重构华为智能科技加持,北汽魔方带来用车新体验合资品牌小心,你们的最后阵地正遭到挤压为何真实用车场景下的新能源车对比评测更有参考性?葛越:机器学习对苹果产品创新至关重要,在两个领域潜力明显比亚迪做工品质大揭秘工信部新车:钱江ADV150踏板纯电版,力帆派方星舰3科幻巡航SpringBoot 整合MybatisPlus 实现字段自动注入成立200多天卖出2.2万台,睿蓝汽车让换电不再是“贵族方案”人贩子寸步难行,6年找回4960个孩子,阿里开发的打拐神器有多狠?15万就能体验问界M5同款的鸿蒙座舱?评测几何M6智能化荣耀70 PRO各大电商用户评价 荣耀70 PRO详细配置参数 荣耀70 PRO跑分3千元价位女生用来拍照的手机推荐“智能服装”能读取人体生物指标 可揉搓清洗而不损坏其传感器李想遭遇当头棒喝?理想汽车交付量腰斩
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

0.2181

Copyright © 2024 Powered by 铁岭市某某化工涂料运营部   sitemap