简单操作 OSS 文件__Spark_开发人员指南_E-MapReduce-阿里云
使用 OSS SDK 存在的问题
若在 Spark 或者 Hadoop 作业中无法直接使用 OSS SDK 来操作 OSS 中的文件,是因为OSS SDK 中依赖的 http-client-4.4.x 版本与 Spark 或者 Hadoop 运行环境中的 http-client 存在版本冲突。如果要这么做,就必须先解决这个依赖冲突问题。实际上在 E-MapReduce 中,Spark 和 Hadoop 已经对 OSS 做了无缝兼容,可以像使用 HDFS 一样来操作 OSS 文件。
- 当前E-MapReduce环境支持MetaService服务,可以支持在E-MapReduce环境面AK访问OSS数据。旧的显示写AK的方式依旧支持,请注意在操作OSS的时候优先使用内网的Endpoint。
- 当您需要在本地进行测试的时候,才要用到OSS的外网的Endpoint,这样才能从本地访问到OSS的数据。
所有的Endpint可以参考 OSS Endpoint。
推荐做法(以免AK方式为例)
请您使用如下方法来查询 OSS 目录下的文件:
[Scala]
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.{Path, FileSystem}
val dir = "oss://bucket/dir"
val path = new Path(dir)
val conf = new Configuration()
conf.set("fs.oss.impl", "com.aliyun.fs.oss.nat.NativeOssFileSystem")
val fs = FileSystem.get(path.toUri, conf)
val fileList = fs.listStatus(path)
...
[Java]
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
String dir = "oss://bucket/dir";
Path path = new Path(dir);
Configuration conf = new Configuration();
conf.set("fs.oss.impl", "com.aliyun.fs.oss.nat.NativeOssFileSystem");
FileSystem fs = FileSystem.get(path.toUri(), conf);
FileStatus[] fileList = fs.listStatus(path);
...
最后更新:2016-12-19 19:17:57
上一篇:
参数说明__Spark_开发人员指南_E-MapReduce-阿里云
下一篇:
Spark + ODPS__Spark_开发人员指南_E-MapReduce-阿里云
基于MaxCompute的大数据计算__典型应用_用户指南_云数据库 RDS 版-阿里云
设置页面优化__配置操作接口_API 手册_CDN-阿里云
发布服务__使用说明_用户手册_云服务总线 CSB-阿里云
ALIYUN::KVSTORE::Instance__资源列表_资源编排-阿里云
如何查询充值、消费记录?__充值介绍_账户资产_财务-阿里云
根据标签筛选实例__标签管理_用户指南_云数据库 RDS 版-阿里云
性能测试核心技术__中级课程_性能测试视频教程_性能测试-阿里云
产品使用限制__用户指南_高速通道-阿里云
PutObject__关于Object操作_API 参考_对象存储 OSS-阿里云
应用连接池选择__最佳实践_分布式关系型数据库 DRDS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云