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

Object Storage Service:Hadoop Shellコマンドを使用したOSS-HDFSへのアクセス

最終更新日:Dec 20, 2024

OSS-HDFSが有効になっているバケットで、オブジェクトのアップロード、オブジェクトのダウンロード、オブジェクトの削除などの操作をCLIを使用して実行する場合は、Hadoop Shellコマンドを使用できます。

環境の準備

次のいずれかの方法でOSS-HDFSにアクセスできます。

  • Alibaba Cloud EMRクラスターを使用してOSS-HDFSにアクセスする場合は、バージョンが3.46.2以降または5.12.2以降のEMRクラスターが作成されていることを確認してください。 バージョン要件を満たすEMRクラスターは、デフォルトでOSS-HDFSと統合されています。 詳細については、「クラスターの作成」をご参照ください。

  • Alibaba Cloud EMRクラスターを使用してOSS-HDFSにアクセスしない場合は、JindoSDK 4.6.x以降がインストールおよびデプロイされていることを確認してください。 詳細については、「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 API for Javaを使用してコンテンツを読み取り、デコードします。

  • オブジェクトまたはディレクトリをコピーする

    次のコマンドを実行して、examplebucketという名前のバケット内のsubdir1という名前のルートディレクトリを、同じバケット内のsubdir2という名前のディレクトリにコピーします。 さらに、subdir1ルートディレクトリの位置、subdir1ルートディレクトリ内のオブジェクト、および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という名前のルートディレクトリと、ルートsrcdirディレクトリ内のオブジェクトおよびサブディレクトリをdestdirという名前の別のルートディレクトリに移動します。

    hdfs dfs -mv oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/srcdir  oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destdir
  • オブジェクトのダウンロード

    次のコマンドを実行して、exampleobject.txtという名前のオブジェクトを、examplebucketという名前のバケットからコンピュータの /tmpという名前のルートディレクトリにダウンロードします。

    hdfs dfs -get oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt  /tmp/
  • オブジェクトまたはディレクトリの削除

    次のコマンドを実行して、destfolder/ という名前のディレクトリとそのディレクトリ内のすべてのオブジェクトをexamplebucketという名前のバケットから削除します。

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