すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Hadoop シェルコマンドを使用して OSS または OSS-HDFS にアクセスする

最終更新日:Jan 11, 2025

このトピックでは、Hadoop シェルコマンドを使用してオブジェクトストレージサービス(OSS)または OSS-HDFS にアクセスする方法について説明します。

環境の準備

  • E-MapReduce(EMR)環境では、JindoSDK がデフォルトでインストールされており、直接使用できます。
    説明 OSS-HDFS にアクセスするには、EMR V3.42.0 以降のマイナーバージョンのクラスター、または EMR V5.8.0 以降のマイナーバージョンのクラスターを作成する必要があります。
  • EMR 以外の環境では、最初に JindoSDK をインストールします。詳細については、EMR 以外の環境に JindoSDK をデプロイする をご参照ください。
    説明 OSS-HDFS にアクセスするには、JindoSDK V4.X 以降をインストールする必要があります。

コマンドと例

Hadoop シェルコマンドを使用して、OSS と OSS-HDFS に同じ方法でアクセスできます。違いは、パス内のエンドポイントにあります。

  • ファイルのアップロード
    次のコマンドを実行して、ローカルルートディレクトリの examplefile.txt という名前のファイルを、OSS-HDFS の examplebucket という名前のバケットにアップロードします。
    hadoop fs -put examplefile.txt oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/
  • ディレクトリの作成
    次のコマンドを実行して、OSS-HDFS の examplebucket という名前のバケットに dir/ という名前のディレクトリを作成します。
    hadoop fs -mkdir oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/dir/
  • ファイルまたはディレクトリのクエリ

    次のコマンドを実行して、OSS-HDFS の examplebucket という名前のバケット内のファイルとディレクトリをクエリします。

    hadoop fs -ls oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/
  • ファイルまたはディレクトリのサイズのクエリ
    次のコマンドを実行して、OSS-HDFS の examplebucket という名前のバケット内のすべてのファイルとディレクトリのサイズをクエリします。
    hadoop fs -du oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/
  • ファイルの内容のクエリ
    次のコマンドを実行して、OSS-HDFS の examplebucket という名前のバケット内の localfile.txt という名前のファイルの内容をクエリします。
    hadoop fs -cat oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/localfile.txt
    重要 クエリされたファイルの内容はプレーンテキストで表示されます。コンテンツがエンコードされている場合は、Java 用 HDFS API を使用してコンテンツを読み取り、デコードします。
  • ファイルまたはディレクトリのコピー
    次のコマンドを実行して、OSS-HDFS の examplebucket という名前のバケット内の subdir1 という名前のルートディレクトリを subdir2 という名前のディレクトリにコピーします。 subdir1 ディレクトリの場所、subdir1 ディレクトリ内のファイル、および subdir1 ディレクトリ内のサブディレクトリの構造と内容は変更されません。
    hadoop fs -cp oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/subdir1  oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/subdir2/subdir1
  • ファイルまたはディレクトリの移動
    次のコマンドを実行して、examplebucket という名前のバケット内の srcdir という名前のルートディレクトリと、ルートディレクトリ内のファイルとサブディレクトリを、OSS-HDFS の destdir という名前の別のルートディレクトリに移動します。
    hadoop fs -mv oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/srcdir  oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/destdir
  • ファイルのダウンロード
    次のコマンドを実行して、OSS-HDFS の examplebucket という名前のバケットから exampleobject.txt という名前のファイルを、コンピューターのルートディレクトリの /tmp という名前のディレクトリにダウンロードします。
    hadoop fs -get oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt  /tmp/
  • ファイルまたはディレクトリの削除
    次のコマンドを実行して、OSS-HDFS の examplebucket という名前のバケットから destfolder/ という名前のディレクトリと、ディレクトリ内のすべてのファイルを削除します。
    hadoop fs -rm oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/destfolder/