簡單操作 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-阿裏雲