举个栗子:专有云MaxCompute创建TableStore外部表

简介: 在MaxCompute的上边创建OTS的外部表的方式来进行验证

1、 案例背景

某客户专有云v3环境现场,TableStore(OTS)数据迁移,需要进行数据校验工作,由于迁移工具并未有校验的api接口或者独有的校验工具,所以考虑使用在MaxCompute的上边创建OTS的外部表的方式来进行验证;

2、创建外部表访问的方式

方式1:
MaxCompute计算服务要访问TableStore数据需要有一个安全的授权通道。MaxCompute可以通过阿里云的访问控制服务(RAM)和令牌服务(STS)来实现对数据的安全访问;
执行方式:
RAM控制台,创建角色AliyunODPSDefaultRole,并将策略内容设置为如下:

{
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "odps.aliyuncs.com"
        ]
      }
    }
  ],
  "Version": "1"
}

然后编辑该角色的授权策略,将权限AliyunODPSRolePolicy授权给该角色。
方式2:
通过LOCATION参数设置用户的ak,sk的方式来进行访问;
执行方式如下配置:

LOCATION 'tablestore://<*your AK id*>:<*your AK secret key*>@odps-ots-dev.cn-hangzhou.ots.aliyuncs.com';

3、专有云测试案例

PS:本案例采用了最开始的一种方案,也是错误的一种方式并参考了公共云的文档进行的配置导致出现问题报错现象的发生;
如下为错误操作过程:
专有云控制台--ram管理当中创建AliyunODPSDefaultRole角色并设置将权限AliyunODPSRolePolicy授权给该角色
如下图所示:
ram

然后在dataworks数据开发平台进行OTS外部表的创建操作报错;
但是执行报错没有权限进行外部表的创建操作;
所以考虑使用ak,sk的方式进行创建测试,但是依然报错缺少using参数;
errortable
ps:图片内的原因,文章后边会给出解释;
error_
参考的是公共云的创建操作步骤:
image
参考链接:https://help.aliyun.com/document_detail/54519.html?spm=a2c4g.11174283.6.717.1549590ehPHFc6
但是如果在操作命令后加上using ""参数,也可以创建成功;
但是查询会报如下 failed 2的无脑报错:
cdpfail2
fail2


检查fronted和odpsworker的docker中的相关log日志没有有效的报错信息出现;
这个时候,就需要考虑了.......................................
建表语句没有问题,ram role权限没有问题,ak,sk也没有问题;
但是创建就出现了两个问题:
1、使用ram role权限配置odps.properties.rolearn参数建表报错无权限?
2、在location中设置ak,sk方式建表也报错,缺少using?


由于添加using ""参数以后建表成功产生的误导,导致后续一直在排查为什么会报错fail 2的错误发生;
其实应该追本溯源,最应该考虑的是是否公共云和专有云在创建OTS外部表的创建语句是否有什么不同之处?
所以查看对应版本专有云关于MaxCompute创建OTS外部表的创建语句命令如下:
image
恍然大悟!!!
然后按照专有云文档的描述,重新进行了语句的创建操作如下:
righttable


建表成功,问题解决!

总结:

1、对于公共云和专有云一定要区分清楚,可以参考,但不能完全模仿使用;
2、对于实现方式一定要提前确认好,比如sts的ram role访问还是ak,sk的访问;

参考链接:
https://yq.aliyun.com/articles/69314?spm=a2c4g.11186623.2.29.47d0249cKkv8Ut

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
4月前
|
存储 SQL 分布式计算
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
48 1
|
4月前
|
存储 分布式计算 大数据
大数据计算MaxComputerds外部表是不是不能创建分区的?
大数据计算MaxComputerds外部表是不是不能创建分区的?
32 0
|
6月前
|
SQL JSON 分布式计算
ODPS在处理外部表时遇到了问题
ODPS在处理外部表时遇到了问题
63 1
|
4月前
|
存储 分布式计算 大数据
大数据计算MaxComputerds外部表是不是不能创建分区的?
大数据计算MaxComputerds外部表是不是不能创建分区的?
33 2
|
27天前
|
SQL 分布式计算 DataWorks
在DataWorks中,将MaxCompute的表映射成Hologres(Holo)外部表的语句
【2月更文挑战第32天】在DataWorks中,将MaxCompute的表映射成Hologres(Holo)外部表的语句
22 1
|
4月前
|
存储 SQL 分布式计算
数据计算MaxCompute读取外部表
数据计算MaxCompute读取外部表
27 1
|
5月前
|
存储 SQL 分布式计算
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
57 2
|
SQL JSON 分布式计算
【MaxCompute 常见问题】 外部表
使用 OSS 外部表怎么样将多个小文件,输出为一个文件? 查看 Logview 日志,看 SQL 的执行计划,看最后一个是 Reducer 还是 Joiner, 如果是 Reducer 则设置参数为 set odps.stage.reducer.num=1, 如果是 Joiner,则设置为 set odps.stage.joiner.num =1。
【MaxCompute 常见问题】 外部表
|
分布式计算 运维 DataWorks
阿里云Dataworks数据集成工具实现:OTS -> Maxcompute数据同步
数据集成主要用于离线(批量)数据同步。离线(批量)的数据通道通过定义数据来源和去向的数据源和数据集,提供一套抽象化的数据抽取插件(Reader)、数据写入插件(Writer),并基于此框架设计一套简化版的中间数据传输格式,从而实现任意结构化、半结构化数据源之间数据传输。结合用户在使用OTS数据源同步的时候容易出现问题,这里演示:OTS数据源同步数据到Maxcompute的具体实现步骤。
1320 0
阿里云Dataworks数据集成工具实现:OTS -> Maxcompute数据同步
|
SQL 分布式计算 运维
使用DLA分析MaxCompute外部表数据
MaxCompute支持通过外部表关联OSS,进行数据输出。然而,由于MaxCompute外部表的目录结构比较特殊,无法使用MaxCompute以外的工具对OSS上的文件做进一步的分析,限制了外部表的使用场景。因此,DLA最近支持了分析MaxCompute外部表数据文件的功能,借助DLA强大的生态,可以方便地对MaxCompute外部表进行分析,并能够和其他数据源做联合查询。 本文通过一个简单的例子介绍如何使用这个功能。
使用DLA分析MaxCompute外部表数据