全部產品
Search
文件中心

E-MapReduce:通過Hadoop Shell命令訪問OSS/OSS-HDFS

更新時間:Jul 01, 2024

本文為您介紹如何通過Hadoop Shell命令訪問OSS和OSS-HDFS。

環境準備

  • EMR環境中,預設已安裝JindoSDK,可以直接使用。
    說明 訪問OSS-HDFS,需建立EMR-3.42.0及以上版本或EMR-5.8.0及以上版本的叢集。
  • 非EMR環境,請先安裝部署JindoSDK,詳情請參見在非EMR叢集中部署JindoSDK
    說明 訪問OSS-HDFS,需部署JindoSDK 4.x及以上版本。

相關命令及樣本

通過Hadoop Shell命令訪問OSS和OSS-HDFS的方式基本相同,僅路徑中的Endpoint略有不同,根路徑樣本請參見路徑說明

  • 上傳檔案
    將本地根目錄下的examplefile.txt檔案上傳至examplebucket,訪問OSS-HDFS樣本如下:
    hadoop fs -put examplefile.txt oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/
  • 建立目錄
    在examplebucket下建立名為dir/的目錄,訪問OSS-HDFS樣本如下:
    hadoop fs -mkdir oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/dir/
  • 查看檔案或目錄資訊

    查看examplebucket下的檔案或目錄資訊,訪問OSS-HDFS樣本如下:

    hadoop fs -ls oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/
  • 擷取檔案或目錄大小
    擷取examplebucket下所有檔案或目錄的大小,訪問OSS-HDFS樣本如下:
    hadoop fs -du oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/
  • 查看檔案內容
    查看examplebucket下名為localfile.txt的檔案內容,訪問OSS-HDFS樣本如下:
    hadoop fs -cat oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/localfile.txt
    重要 查看檔案內容時,檔案內容將以純文字形式顯示。如果檔案內容進行了特定格式的編碼,請使用HDFS的Java API讀取並解碼檔案內容。
  • 拷貝目錄或檔案
    例如,將examplebucket下根目錄subdir1拷貝到目錄subdir2下,且根目錄subdir1所在的位置、根目錄下的檔案和子目錄結構和內容保持不變,訪問OSS-HDFS樣本如下:
    hadoop fs -cp oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/subdir1  oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/subdir2/subdir1
  • 移動目錄或檔案
    例如,將examplebucket根目錄srcdir及其包含的檔案或者子目錄移動至另一個根目錄destdir下,訪問OSS-HDFS樣本如下:
    hadoop fs -mv oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/srcdir  oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/destdir
  • 下載檔案
    將examplebucket下的exampleobject.txt下載到本地根目錄檔案夾/tmp,訪問OSS-HDFS樣本如下:
    hadoop fs -get oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt  /tmp/
  • 刪除目錄或檔案
    刪除examplebucket下destfolder/目錄及其目錄下的所有檔案,訪問OSS-HDFS樣本如下:
    hadoop fs -rm oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/destfolder/