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

Batch Compute (Deprecated):CLI 2 クイックスタート

最終更新日:Jan 13, 2025

このセクションでは、Batch Compute-cli ツールを使用して、ログファイル内の「INFO」、「WARN」、「ERROR」、および「DEBUG」の出現回数をカウントするジョブを送信する方法について説明します。

準備

: 事前に Batch Compute サービスにサインアップしていることを確認してください。

内容:

  • Batch Compute-cli ツールのインストールと構成

  • ジョブの準備

    • データファイルを OSS にアップロードする

    • タスクプログラムを準備する

  • ジョブの送信

  • ジョブの実行ステータスの確認

  • ジョブの実行結果の確認

Batch Compute-cli ツールのインストールと構成については、「準備」をクリックしてください。

2. ジョブの準備

このジョブの目的は、ログファイル内の「INFO」、「WARN」、「ERROR」、および「DEBUG」の出現回数をカウントすることです。

このジョブには、次のタスクが含まれています。

  • 分割タスクは、ログファイルを3つの部分に分割するために使用されます。

  • カウントタスクは、ログファイルの各部分に「INFO」、「WARN」、「ERROR」、および「DEBUG」が何回出現するかをカウントするために使用されます。カウントタスクでは、InstanceCount を 3 に設定する必要があります。これは、3 つのカウントタスクが同時に開始されることを示します。

  • マージタスクは、カウントタスクのすべての結果をマージします。

DAG

2.1. データファイルを OSS にアップロードする

この例で使用されるデータファイルをダウンロードします: log-count-data.txt

log-count-data.txt ファイルを次の場所にアップロードします:

oss://your-bucket/log-count/log-count-data.txt
  • your-bucket は、作成したバケットを示します。この例では、リージョンは cn-shenzhen です。

bcs oss upload ./log-count-data.txt oss://your-bucket/log-count/log-count-data.txt

bcs oss cat oss://your-bucket/log-count/log-count-data.txt  # ファイルが正常にアップロードされたかどうかを確認します
  • bcs oss コマンドは、OSS インスタンスに関連するいくつかの典型的なアクションを実行できます。bcs oss -h は、このコマンドに関するヘルプ情報を表示します。テストするデータが少ない場合は、このコマンドを使用することをお勧めします。データ量が多い場合、マルチスレッドがまだ実装されていないため、アップロードまたはダウンロードに時間がかかります。OSS インスタンスへのデータのアップロード方法の詳細については、「OSS ツール」を参照してください。

2.2 タスクプログラムの準備

この例で使用されるジョブプログラムは、Python を使用してコンパイルされています。プログラムをダウンロードします: log-count.tar.gz.

プログラムパッケージを次のディレクトリに解凍します。

mkdir log-count && tar -xvf log-count.tar.gz -C log-count

解凍後、log-count/ ディレクトリ構造は次のようになります。

log-count
  |-- conf.py    # 設定
  |-- split.py       # 分割タスクプログラム
  |-- count.py      # カウントタスクプログラム
  |-- merge.py    # マージタスクプログラム
: タスクプログラムを変更しないでください。

3. ジョブの送信

3.1. ジョブ設定のコンパイル

log-count の親ディレクトリに、ファイルを作成します: job.cfg (log-count と同じ親ディレクトリの下)。ファイルには次の内容が含まれています。

[DEFAULT]
job_name=log-count
description=デモ
pack=./log-count/
deps=split->count;count->merge

[split]
cmd=python split.py

[count]
cmd=python count.py
nodes=3

[merge]
cmd=python merge.py

このファイルは、split->count->merge の順序で実行されるマルチタスクジョブを記述しています。

  • .cfg ファイルのタスク記述の詳細については、「複数のタスク」を参照してください。

3.2. ジョブの送信

bcs sub --file job.cfg -r oss://your-bucket/log-count/:/home/input -w oss://your-bucket/log-count/:/home/output
  • コマンドでは、-r と -w は、それぞれ読み取り専用ディレクトリの添付と書き込み可能ディレクトリのマッピングを示します。詳細については、「OSS 上のデータへのアクセス」を参照してください。

  • 同じ OSS パスを異なるローカルディレクトリに添付できますが、異なる OSS パスを同じローカルディレクトリに添付することはできません。

4. ジョブの実行ステータスの確認

bcs j   # ジョブリストを取得します。取得されたジョブリストは毎回キャッシュされます。一般的に、キャッシュ内の最初のジョブは、まさに送信したジョブです。
bcs ch 1  # キャッシュ内の最初のジョブのステータスを確認します。
bcs log 1 # キャッシュ内の最初のジョブのログを確認します。

5. ジョブの実行結果の確認

ジョブが実行された後、次のコマンドを実行して OSS の結果を確認します。

bcs oss cat oss://your-bucket/log-count/merge_result.json

期待される結果は次のとおりです。

{"INFO": 2460, "WARN": 2448, "DEBUG": 2509, "ERROR": 2583}