四步实现DLA跨云账号分析OSS数据

简介: 背景在使用Data Lake Analytics(https://et.aliyun.com/bdad/datalake)进行OSS数据分析时,通常云账号A是访问自己的OSS bucket数据,如果有访问其他云账号(假设云账号B)的OSS数据的需求,本文正好帮到您,教您如何通过DLA实现DLA跨云账号分析OSS数据。

背景

在使用Data Lake Analytics(https://et.aliyun.com/bdad/datalake)进行OSS数据分析时,通常云账号A是访问自己的OSS bucket数据,如果有访问其他云账号(假设云账号B)的OSS数据的需求,本文正好帮到您,教您如何通过DLA实现DLA跨云账号分析OSS数据。下文都是假设“云账号A需要通过DLA访问云账号B的OSS数据”。

image.png

步骤一:新建用于跨账号访问的RAM角色

使用云账号B登录访问控制https://ram.console.aliyun.com),点击RAM角色管理
image.png

然后,在右侧页面点击新建RAM角色。
**
image.png

在弹出的新建RAM角色页面中,选择阿里云服务,选择受信服务物联网(这里只是以物联网受信服务为模板,后面进行修改),在RAM角色名称中输入:for-dla-cross-account(名字可以自己定义)。

image.png

确定后,显示RAM角色新建成功

image.png

步骤二:修改RAM角色的信任策略

仍然在RAM中,在RAM角色管理页面,输入步骤一中创建好的RAM角色名称for-dla-cross-account(如果您自己定义了名称,输入相应名称),搜索到对应角色。

image.png

点击for-dla-cross-account(或者您实际的角色名称),进入后,选择信任策略管理,点击修改信任策略

image.png

在页面中,将Service部分的iot.aliyuncs.com替换成<云账号A>@openanalytics.aliyuncs.com,例如111111111@openanalytics.aliyuncs.com,其中111111111为云账号A的云账号。
image.png

点击确认保存。
在如下页面右上角,复制ARN的URL:acs:ram::2222222222:role/for-dla-cross-account(以您实际显示的URL为准,其中2222222222是云账号B的云账号),后面在DLA中建schema时要用到。

image.png

步骤三:为RAM角色添加OSS访问权限

点击权限管理添加权限
image.png

选择AliyunOSSFullAccess,如果只是查询,也可以选择AliyunOSSReadOnlyAccess。因为后续可能在DLA中执行INSERT OVERWRITE操作,建议这里选择AliyunOSSFullAccess。确定保存。

image.png

显示授权成功。

image.png

步骤四:DLA中建schema和table进行查询

经过上述三步,云账号B中,跨账号访问的RAM角色和权限已经准备好。云账号A可以通过DLA访问云账号B的OSS了。

  • 创建指向云账号B OSS bucket的schema,其中为云账号B的OSS bucket,cross_account_accessing_arn指向上述步骤二中的ARN URL。
CREATE DATABASE `schema_of_account_b`
WITH DBPROPERTIES (
    catalog = 'oss',
    location = 'oss://<account_b_bucket>/',
  cross_account_accessing_arn= 'acs:ram::2222222222:role/for-dla-cross-account'
)
COMMENT ''
  • 在schema_of_account_b中指向云账号B的目标OSS bucket数据进行建表查询,以下为示例。
CREATE EXTERNAL TABLE `schema_of_account_b`.`nation` (
    `n_nationkey` int,
    `n_name` string,
    `n_regionkey` int,
    `n_comment` string
)
ROW FORMAT DELIMITED
    FIELDS TERMINATED BY '|'
STORED AS `TEXTFILE`
LOCATION 'oss://<account_b_bucket>/...'

小结:

本文通过4步骤实现了DLA对跨云账号的OSS数据访问。

  • 创建跨账号访问的RAM角色
  • 修改RAM角色的信任策略
  • 为RAM角色添加OSS访问角色
  • DLA中建schema和table查询

Data Lake Analytics首购和流量包优惠

首购用户1元10TB,流量包阶梯折扣优惠:https://et.aliyun.com/bdad/datalake
产品详情:https://www.aliyun.com/product/datalakeanalytics
云栖社区:https://yq.aliyun.com/teams/396
知乎社区:https://zhuanlan.zhihu.com/data-lake-analytics

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
29天前
|
存储 关系型数据库 分布式数据库
PolarDB常见问题之PolarDB冷存数据到OSS之后恢复失败如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
4月前
|
存储 SQL 分布式计算
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
48 1
|
25天前
|
存储 API 开发工具
oss数据解密与下载
阿里云OSS提供服务器端加密(SSE-OSS/SSE-KMS)功能,保证静态数据安全。下载加密对象时,OSS自动解密并返回原始内容。确保下载请求者有相应权限,尤其是使用SSE-KMS时。可通过SDK、图形化工具或编程框架集成下载,发起请求时,OSS自动处理解密,客户端接收解密后的数据。权限、下载方式选择及请求发起是关键步骤。
9 1
|
3月前
|
SQL 存储 分布式计算
Hologres实时湖仓能力增强,挑战5分钟加速分析OSS数据
5分钟快速使用Hologres实时湖仓能力,无需移动数据,直接加速读取存储于数据湖OSS上的Hudi、Delta、Paimon等格式类型的数据
|
3月前
|
存储 对象存储 SQL
【获奖名单公示】Hologres实时湖仓分析挑战赛
5分钟快速使用Hologres实时湖仓能力,无需移动数据,直接加速读取存储于数据湖OSS上的Hudi、Delta、Paimon等格式类型的数据
【获奖名单公示】Hologres实时湖仓分析挑战赛
|
4月前
|
存储 监控 开发工具
oss储存数据
oss储存数据
90 1
|
4月前
|
存储 对象存储
OSS冷热数据分离
OSS冷热数据分离
|
5月前
|
存储 SQL 分布式计算
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
57 2
|
6月前
|
存储 运维 监控
OSS生命周期管理与访问行为分析实践
认证考试:OSS生命周期管理与访问行为分析实践
|
1月前
|
Java API 开发工具
如何用阿里云 oss 下载文件
阿里云对象存储服务(OSS)提供了多种方式下载文件,以下讲解下各种方式的下载方法
758 1