欢迎来到 嘉兴市某某设备有限责任公司
全国咨询热线:020-123456789
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

新闻中心
DataWorks开发ODPS SQL开发生产环境自动补全ProjectName
  来源:嘉兴市某某设备有限责任公司  更新时间:2024-05-01 15:39:17

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/

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


友情链接中国科学家首次荣获国际模式识别最高奖美国监听遮羞布已被掀开这款欧拉芭蕾猫官方指导价:22.30万元,造型呆萌,是智商税吗?国产机里也有高端,这3款很难挑出毛病,还比苹果便宜时讯:微信测试新功能,朋友圈修改可见范围VIVO S15 配置参数用户评价“元宇宙的微软”影创科技大规模欠薪,创始人解散公司大群后失联微信不用收藏添加那么多表情包了,点一个按钮要啥有啥,太棒了VIVO X70PRO+ 参数用户评价最新消息,传苹果已开始研发iPhone15蜂巢能源收购中兴高能网传慧聪网即日起停止运营,慧聪系公司停工待岗开店指南(2):京东开店的条件及流程荣耀Magic4降价 跌破4500元新能源之争 纯电并不是唯一出路给iPad越狱之后,我把它变成了MaciPhone13升级iOS16beta7,续航很顶,信号稳,体验几乎完美,推荐数字化工厂、智能制造、工业互联网、MES、工业大数据方案汇总vivo T3x有点狠,已确定6500mAh大电池,vivo进入强续航时代任正非最新讲话发布!凛冬已至,经济复苏核心在哪里?马云背后的女强人:曾将阿里7名高管送进监狱,有权调查马云曾经火爆一时的热门专业遇冷!22年上财更是下滑幅度超60%……邵宾老了,宝马掉队电动化?比小米手表更实用,能测血压、血氧、心率、心电图的智能手表1499元起售,飞猫智联5G随身WiFi正式上市:高通双芯,战力十足万科投资成立数字技术公司,经营范围含虚拟现实内容制作“2022运营商省公司百强榜”名单公布 湖南电信勇夺第29名华为店大欺客?广汽吐槽和华为合作没法议价,华为是大牌供应商问题集锦|idea通过maven编译项目,控制台打印信息中文乱码大家平常会用无线充电吗?盘点今年搭载无线充电的手机通宇通讯与华为手机业务有合作?来看看官方怎么说iOS15.6.1最终版,使用体验南极冰川正以5500年来最快的速度融化消失用了3年的Mate40Pro终于退休:换上小米12S三天后,体验不吐不快亚马逊新手在哪个国家开店利润高?开学季买什么手机好?目前这4款手机最值得考虑,用三五年没问题比特币以太坊825行情分析英特尔展示14代酷睿处理器架构:将采用3D封装技术为什么号称技术男的奇瑞在新能源领域栽了跟头8月这四款手机最值得买,几乎没有“差评”,轻松用三到五年
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

0.2376

Copyright © 2024 Powered by 嘉兴市某某设备有限责任公司   sitemap