全部產品
Search
文件中心

Object Storage Service:通過Hadoop Shell命令訪問

更新時間:Aug 13, 2024

如果您希望通過命令列的方式在開通OSS-HDFS服務的Bucket中執行上傳、下載、刪除等相關操作,您可以使用Hadoop Shell的方式。

環境準備

您可以選擇以下任意一種方式訪問OSS-HDFS服務。

  • 通過阿里雲EMR訪問OSS-HDFS服務,確保已建立EMR-3.46.2及以上版本或EMR-5.12.2及以上版本的叢集。滿足版本要求的EMR叢集預設整合了OSS-HDFS服務。具體操作,請參見建立叢集

  • 通過非阿里雲EMR訪問OSS-HDFS服務,確保已安裝和部署4.6.x及以上版本JindoSDK。具體操作,請參見在非EMR叢集中部署JindoSDK

相關命令及樣本

通過Hadoop Shell命令訪問OSS-HDFS服務的相關命令及樣本如下。

  • 上傳檔案

    將本地根目錄下的examplefile.txt檔案上傳至examplebucket,樣本如下:

    hdfs dfs -put examplefile.txt oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/
  • 建立目錄

    在examplebucket下建立名為dir/的目錄,樣本如下:

    hdfs dfs -mkdir oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/
  • 查看檔案或目錄資訊

    查看examplebucket下的檔案或目錄資訊,樣本如下:

    hdfs dfs -ls oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/
  • 擷取檔案或目錄大小

    擷取examplebucket下所有檔案或目錄的大小,樣本如下:

    hdfs dfs -du oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/
  • 查看檔案內容

    查看examplebucket下名為localfile.txt的檔案內容,樣本如下:

    hdfs dfs -cat oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/localfile.txt
    重要

    查看檔案內容時,檔案內容將以純文字形式列印到螢幕上。如果檔案內容進行了特定格式的編碼,請使用HDFS的Java API讀取並解碼檔案內容。

  • 拷貝目錄或檔案

    例如,將examplebucket下根目錄subdir1拷貝到目錄subdir2下,且根目錄subdir1所在的位置、根目錄下的檔案和子目錄結構和內容保持不變,樣本如下:

    hdfs dfs -cp oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir1  oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir2/subdir1
  • 移動目錄或檔案

    例如,將examplebucket根目錄srcdir及其包含的檔案或者子目錄移動至另一個根目錄destdir下,樣本如下:

    hdfs dfs -mv oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/srcdir  oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destdir
  • 下載檔案

    將examplebucket下的exampleobject.txt下載到本地根目錄檔案夾/tmp,樣本如下:

    hdfs dfs -get oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt  /tmp/
  • 刪除目錄或檔案

    刪除examplebucket下destfolder/目錄及其目錄下的所有檔案,樣本如下:

    hdfs dfs -rm -r oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destfolder/