Jindo CLI コマンドを使用して、OSS-HDFS が有効になっているバケットに対して、アップロード、ダウンロード、削除などの操作を実行できます。
環境の準備
OSS-HDFS にアクセスするには、次のいずれかの方法を使用できます。
Alibaba Cloud EMR クラスタを使用して OSS-HDFS にアクセスする場合は、バージョン 3.44.0 以降または 5.10.0 以降の EMR クラスタが作成されていることを確認してください。 バージョン要件を満たす EMR クラスタには、デフォルトで JindoSDK が統合されています。 詳細については、「クラスタを作成する」をご参照ください。
EMR 以外の環境では、最初に JindoSDK をインストールします。 詳細については、「EMR 以外の環境に JindoSDK をデプロイする」をご参照ください。
手順
環境変数を構成します。
Alibaba Cloud EMR クラスタを使用して OSS-HDFS にアクセスする場合は、この手順をスキップして 手順 2 に進みます。
Alibaba Cloud EMR クラスタ以外を使用して OSS-HDFS にアクセスする場合は、次の手順を実行します。
ECS インスタンスに接続します。 詳細については、「ECS インスタンスに接続する」をご参照ください。
インストールされている JindoSDK JAR パッケージの bin ディレクトリに移動します。
cd jindosdk-x.x.x/bin/説明x.x.x は、JindoSDK JAR パッケージのバージョン番号を示します。
jindosdk.cfgという名前の構成ファイルを作成し、次のパラメータを構成ファイルに追加します。[common] 次のデフォルト構成を保持します。 logger.dir = /tmp/jindo/ logger.sync = false logger.consolelogger = false logger.level = 0 logger.verbose = 0 logger.cleaner.enable = true hadoopConf.enable = false [jindosdk] 次のパラメータを指定します。 <!-- この例では、中国 (杭州) リージョンが使用されています。 実際のリージョンを指定してください。 --> fs.oss.endpoint = cn-hangzhou.oss-dls.aliyuncs.com <! -- OSS-HDFS へのアクセスに使用する AccessKey ID と AccessKey シークレットを構成します。 --> fs.oss.accessKeyId = yourAccessKeyId fs.oss.accessKeySecret = yourAccessKeySecret環境変数を構成します。
export JINDOSDK_CONF_DIR=<JINDOSDK_CONF_DIR><JINDOSDK_CONF_DIR> を
jindosdk.cfg構成ファイルの絶対パスに設定します。
Jindo CLI コマンドを使用して OSS-HDFS にアクセスします。
オブジェクトをアップロードする
次のコマンドを実行して、ローカルルートディレクトリにある examplefile.txt という名前のローカルファイルを examplebucket という名前のバケットにアップロードします。
./jindo fs -put examplefile.txt oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/ディレクトリを作成する
次のコマンドを実行して、examplebucket という名前のバケットに dir/ という名前のディレクトリを作成します。
./jindo fs -mkdir oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/dir/オブジェクトまたはディレクトリをクエリする
次のコマンドを実行して、examplebucket という名前のバケット内のオブジェクトまたはディレクトリをクエリします。
./jindo fs -ls oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/オブジェクトまたはディレクトリのサイズをクエリする
次のコマンドを実行して、examplebucket という名前のバケット内のすべてのオブジェクトまたはディレクトリのサイズをクエリします。
./jindo fs -du oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/オブジェクトのコンテンツをクエリする
次のコマンドを実行して、examplebucket という名前のバケット内の localfile.txt という名前のオブジェクトのコンテンツをクエリします。
./jindo fs -cat oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/localfile.txt重要 クエリ対象のファイルのコンテンツはプレーンテキストで表示されます。 コンテンツがエンコードされている場合は、Java 用 HDFS API を使用してコンテンツを読み取り、デコードします。オブジェクトをダウンロードする
次のコマンドを実行して、examplebucket という名前のバケットから exampleobject.txt という名前のオブジェクトをコンピュータのルートディレクトリにある /tmp という名前のディレクトリにダウンロードします。
./jindo fs -get oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt /tmp/ディレクトリまたはオブジェクトを削除する
次のコマンドを実行して、examplebucket という名前のバケットから destfolder/ という名前のディレクトリと、そのディレクトリ内のすべてのオブジェクトを削除します。
./jindo fs -rm -r oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/destfolder/