背景

目前随着公司业务的不断扩展,各个业务线的数据也越来越多,如果所有数据都集中管理比较错综复杂。MaxCompute的跨项目访问资源比较适合这样的场景。每个业务线创建对应的project,自行管理数据。如果有需要访问其他业务线数据的诉求,可以基于Package实现数据共享的诉求,下面我们来介绍下基于Package实现跨项目访问资源的具体操作,本文以共享自建udf函数为例。

前期准备

  • MaxCompute项目projectA 和 projectB,详情参考 新建MaxCompute项目;
  • 子账号 A(projectA开发环境任务发布人),详情参考 子账号创建;
  • 子账号 B(projectA生产环境任务执行人,可为主账号或权限较高的子账号) ;
  • 子账号 C(projectB跨项目访问人)
  • projectA准备udf所有的jar包、表和函数,详情参考 MaxCompute udf。

步骤

账号权限明细

  • 子账号 A(projectA开发环境任务发布人):普通开发人员
  • 子账号 B(projectA生产环境任务执行人):除主账号外权限最高的管理者
  • 子账号 C(projectB跨项目访问人):普通开发人员,详情参考权限管理

步骤一:子账号A 创建package任务并发布生产

1.登录DataWorks 数据开发,创建SQL节点,创建package任务,详情可参考 ODPS SQL节点。

图片

2.修改项目责任人(如果有专人执行生产任务可执行此步骤)

  • 在数据开发页面,单击业务流程后的图标,进入任务列表页面。

图片

  • 修改责任人

图片

3.提交发布任务

  • 提交

图片

  • 发布

图片

  • 可在发布列表中查看

图片

步骤二:子账号B 执行生产任务

1.子账号B登录DataWorks运维中心,周期任务运维 - 周期任务,详情可参考 DataWorks运维中心。

图片

2.子账号B执行任务

  • 右键任务 - 测试,详情可参考周期任务运维

图片

  • 选择业务日期

图片

  • 查看运行结果

图片

步骤三:子账号C 使用package

1.主账号或管理员(Super_Administrator 或者 Admin)登录 projectB,安装package 并允许子账号C 访问 package,详情可参考 基于package跨项目访问资源。

图片

2.子账号C 登录 projectB,进行package访问

  • 查看package的资源列表

图片

  • 使用udf函数

图片

原文链接

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


数据库知识分享者
27.8k 声望35.7k 粉丝

数据库知识分享