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

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

新闻中心
DataWorks开发ODPS SQL开发生产环境自动补全ProjectName
  来源:铁岭市某某化工涂料运营部  更新时间:2024-05-08 13:18:46

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/

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


友情链接杭州旅游攻略必去景点推荐,周边这些地方也值得一去!2048怎么玩 2048玩法三国志9威力加强版攻略秘籍,三国志9威力加强版秘籍口袋妖怪魂银攻略,口袋妖怪魂银全面攻略魔法门之英雄无敌3-末日之刃战役全剧情图文流程攻略吞食天地2赤壁之战怎么打三国志战棋版新手开荒攻略 游戏开荒保姆级教学「口袋妖怪金攻略」神奇宝贝金版攻略和秘籍?DOTA2极致攻略:拉劣势路远古及大野技巧三国志13 单挑攻略,三国志13威力加强版 单挑怎么玩三国志刘备传果子攻略 三国志刘备传压级练果攻略刀剑封魔录详细攻略过关技巧(刀剑封魔录任务攻略)贪婪洞窟噩梦模式攻略(噩梦模式41-60层的通关技巧)《仙剑奇侠传:新的开始》新手攻略大全 新手入门闭坑指南三国志9威力加强版攻略 三国志9威力加强版声望《弓箭传说》第五章怎么过 通关攻略分享下载 延禧攻略之凤凰于飞 的用户还下载过:生化危机1高清重制版最新新三国英杰传图文攻略(全)CLANNAD 圣地巡礼攻略 东京篇三国志7全武将作弊码psp(三国志7作弊攻略)下载 延禧攻略之凤凰于飞 的用户还下载过:三国戏英杰传护肝指南!《怪物猎人:崛起》单人速刷护石攻略!《口袋妖怪:金心/银魂》各特性效果攻略生化1HD图文攻略,生化1 HD完整攻略图文详解Cathedral of St. Pius X《最强蜗牛》前期快速发育攻略 新手思路推荐王者荣耀:远程强力输出 干将莫邪一边战斗一边秀恩爱【原神·进阶攻略】原神中的生僻字,你真的认识怎么读嘛?(上)【全谜题】《最后的篝火-The Last Campfire》攻略图文-迷失攻略组新倚天屠龙记阵容搭配推荐攻略《天命奇御2》少林寺支线任务攻略【异度神剑3】疑难任务详尽攻略:七名诺彭 攻略Vol.4护肝指南!《怪物猎人:崛起》单人速刷护石攻略!三国志13新手入门心得 新手扫盲攻略三国志刘备传详细全攻略延禧攻略第44集三国英杰传长坂坡之战攻略,新三国英杰传雒城之战关了城门就输了吗台州自助游
联系我们

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

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

0.2145

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