注: 事前に Batch Compute サービスにサインアップしていることを確認してください。
内容:
1. Batch Compute-cli ツールのインストールと構成
インストールと構成 Batch Compute-cli ツール。
2. ジョブの準備
これは合計ジョブです。input.txt
内のすべての数値が加算され、合計が output.txt
に書き込まれます。
計算プロセスは単純です。そのため、このジョブに必要なタスクは 1 つだけです。
この例では、OSS ディレクトリが VM ローカルディレクトリとしてマウントされ、ファイルが操作に使用されます。
2.1. データファイルを OSS にアップロードする
ファイル input.txt
を作成します。
input.txt
の内容は次のとおりで、通常は 1 つの数値が 1 行を占めます。
2
40
51
input.txt
を以下にアップロードします。
bcs o up input.txt oss://your-bucket/sum/inputs/
# ファイルが正常にアップロードされたかどうかを確認します
bcs o ls oss://your-bucket/sum/inputs/
your-bucket
は自分で作成したバケットを示します。この例では、リージョンが cn-shenzhen であると想定されています。bcs oss
コマンドは、OSS インスタンスに関連するいくつかの典型的な操作を実行できます。bcs oss -h
は、このコマンドに関するヘルプ情報を表示します。テストするデータが少ない場合は、このコマンドを使用することをお勧めします。データ量が多い場合、マルチスレッドがまだ実装されていないため、アップロードまたはダウンロードに時間がかかります。 OSS インスタンスへのデータのアップロード方法の詳細については、「OSS ツール」をご参照ください。
2.2. タスクプログラムを準備する
sum.sh の内容は次のとおりです。
#!/bin/bash
t=0
while read LINE
do
t=$(($t+${LINE}))
done < /home/inputs/input.txt
echo $t
echo $t > /home/outputs/output.txt
ステップ 1 では、input.txt
が oss://your-bucket/sum/inputs/
ディレクトリにアップロードされます。上記のプログラムでは、input.txt
は VM ローカルディレクトリ /home/inputs/
から読み取られます。これは、Batch Compute の OSS マウント機能によって実装されます。機能の構成については、次のステップで説明します。
このサンプルプログラムでは、bash スクリプトを使用して合計関数を実行します。スクリプトで他のアプリケーションを実行することもできます。 Batch Compute 環境へのアプリケーションのデプロイ方法の詳細については、「カスタムイメージ」および「Docker の使用」をご参照ください。
3. ジョブの送信
sum.sh があるディレクトリで、次のコマンドを実行してジョブを送信します。
bcs sub "sh sum.sh" -p sum.sh -r oss://your-bucket/sum/inputs/:/home/inputs/ -w oss://your-bucket/sum/outputs/:/home/outputs/
デフォルトのイメージとデフォルトのインスタンスタイプ がここで使用されます。
-r
は読み取り専用マウントを示し、OSS ディレクトリoss://your-bucket/sum/inputs/
が VM ローカルディレクトリ/home/inputs/
にマウントされます。このようにして、プログラムは/home/inputs/
ディレクトリにあるinput.txt
にアクセスできます。-w
は書き込み可能マウントを示し、OSS ディレクトリoss://your-bucket/sum/outputs/
が VM ローカルディレクトリ/home/outputs/
にマウントされます。ローカルディレクトリ/home/outputs/
に書き込まれたファイルoutput.txt
は、プログラムの実行が終了すると、対応する OSS ディレクトリに自動的にアップロードされます。
4. ジョブの実行ステータスと実行結果の表示
次のコマンドを実行して、ジョブを監視できます。
bcs j # ジョブリストを取得します。取得されたジョブリストは毎回キャッシュされます。通常、キャッシュ内の最初のジョブは、送信したジョブです。
bcs j 1 # キャッシュ内の最初のジョブの詳細を表示します
bcs log 1 # キャッシュ内の最初のジョブのログを確認します。
次のコマンドを実行して、結果を表示できます。
bcs o cat oss://your-bucket/sum/outputs/output.txt