请问通过MaxCompute服务读写OSS需要注意什么?
您好,当MaxCompute和OSS在同一地域时,上述三种连接方式均可用,推荐采用阿里云经典网络或VPC网络连接方式,性能更优。当MaxCompute或OSS不在同一地域时,推荐采用外网连接方式。如果采用阿里云经典网络或VPC网络连接方式,会存在连通性问题。
在网络连通性与访问权限方面
因为MaxCompute与OSS是两个分开的云计算,与云存储服务,所以在不同的部署集群上的网络连通性有可能影响MaxCompute访问OSS的数据的可达性。 关于OSS的节点,实例,服务地址等概念,可以参见OSS相关介绍。 在MaxCompute公共云服务访问OSS存储,推荐使用OSS私网地址(即以-internal.aliyuncs.com结尾的host地址)。
此外需要指出的是,MaxCompute计算服务要访问TableStore数据需要有一个安全的授权通道。 在这个问题上,MaxCompute结合了阿里云的访问控制服务(RAM)和令牌服务(STS)来实现对数据的安全反问:
我列举了一些给你 1、MaxCompute服务读写OSS需要先在MaxCompute中创建一个外部表,指定OSS中的文件路径,然后才能读写OSS中的文件。
2、MaxCompute服务读写OSS时,OSS中的文件必须是支持的格式,比如CSV、TSV、ORC、Parquet等。
3、MaxCompute服务读写OSS时,OSS中的文件必须是支持的压缩格式,比如GZIP、BZIP2、LZO等。
4、MaxCompute服务读写OSS时,OSS中的文件必须是支持的分隔符,比如逗号、分号、空格等
官方文档中关于MaxCompute各地域及不同网络连接方式下的Endpoint信息,以及与其他阿里云产品互访场景中的网络连通性及计费信息,提供了一个说明文档,文档地址:https://help.aliyun.com/document_detail/34951.html,官方文档中通过MaxCompute读写OSS的注意事项主要是:1.当MaxCompute和Tablestore或OSS在同一地域时,上述三种连接方式均可用,推荐采用阿里云经典网络或VPC网络连接方式,性能更优。2.当MaxCompute和Tablestore或OSS在同一地域时,上述三种连接方式均可用,推荐采用阿里云经典网络或VPC网络连接方式,性能更优。
在使用外部表读取OSS数据时,需要注意:
- 您需要创建好OSS外部表后,才可以通过外部表读取OSS数据。
- SQL语句中涉及到复杂数据类型时,需要在SQL语句前添加set odps.sql.type.system.odps2=true;命令,和SQL语句一起提交执行。
- 对于映射开源数据的OSS外部表,您需要在Session级别设置set odps.sql.hive.compatible=true;后再读取OSS数据,否则会报错。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。