举个栗子:专有云MaxCompute创建TableStore外部表
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授权给该角色
如下图所示:
然后在dataworks数据开发平台进行OTS外部表的创建操作报错;
但是执行报错没有权限进行外部表的创建操作;
所以考虑使用ak,sk的方式进行创建测试,但是依然报错缺少using参数;
ps:图片内的原因,文章后边会给出解释;
参考的是公共云的创建操作步骤:
参考链接:https://help.aliyun.com/document_detail/54519.html?spm=a2c4g.11174283.6.717.1549590ehPHFc6
但是如果在操作命令后加上using ""参数,也可以创建成功;
但是查询会报如下 failed 2的无脑报错:
检查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外部表的创建语句命令如下:
恍然大悟!!!
然后按照专有云文档的描述,重新进行了语句的创建操作如下:
建表成功,问题解决!
总结:
1、对于公共云和专有云一定要区分清楚,可以参考,但不能完全模仿使用;
2、对于实现方式一定要提前确认好,比如sts的ram role访问还是ak,sk的访问;
参考链接:
https://yq.aliyun.com/articles/69314?spm=a2c4g.11186623.2.29.47d0249cKkv8Ut
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
你应该知道的 HBase 基础,都在这儿了
阿里妹导读:2006 年10 月Google 发布三架马车之一的《Bigtable:A Distributed Storage System for Strctured Data》论文之后,Powerset 公司就宣布 HBase 在 Hadoop 项目中成立,作为子项目存在。后来,在2010 年左右逐渐成为 Apache 旗下的一个顶级项目。可能是实际应用中包装得太好,很多人对于 HBase 的认识止步于 NoSQL 。今天,蚂蚁金服的南俊从基础开始讲起,希望有助于增强大家在实际业务中对 HBase 的理解。 一、 HBase 简介 HBase 名称的由来是由于其作为 Hadoop Database 存在的,用来存储非结构化、半结构化数据。 要想知道 HBase 的用途,就需要看一看其在 Apache 的 Hadoop 生态系统中的位
- 下一篇
大数据开发工程师必备那些技能
成为一名大数据开发工程师,你需要具备以下这些技能 Java 大家都知道Java的方向有JavaSE、JavaEE、JavaME,学习大数据要学习那个方向呢?只需要学习Java的标准版JavaSE就可以了,像Servlet、JSP、Tomcat、Struts、Spring、Hibernate,Mybatis都是JavaEE方向的技术在大数据技术里用到的并不多,只需要了解就可以了,当然Java怎么连接数据库还是要知道的,像JDBC一定要掌握一下。 有同学说Hibernate或Mybites也能连接数据库啊,为什么不学习一下,我这里不是说学这些不好,而是说学这些可能会用你很多时间,到最后工作中也不常用,我还没看到谁做大数据处理用到这两个东西的,当然你的精力很充足的话,可以学学Hibernate或Mybites的原理,不要只学API,这样可以增加你对Java操作数据库的理解,因为这两个技术的核心就是Java的反射加上JDBC的各种使用。 Linux 因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16