リソースグループは、Spark標準エンジンの計算リソースに対する二次キューの分割であり、リソースグループは親標準エンジンに属し、同一エンジン内のリソースグループは互いにリソースを共有します。DLC Spark標準エンジンの計算ユニット(CU)は、必要に応じて複数のリソースグループに分割でき、各リソースグループが使用できるCU数の最小値と上限、起動/停止ポリシー、並列数、動的/静的パラメータなどを設定できます。これにより、マルチテナントやマルチタスクなどの複雑なシナリオにおける計算リソースの分離とワークロードの効率的な管理を実現します。
例えば、Spark標準エンジンに対してレポートリソースグループ、データウェアハウスリソースグループ、履歴補填リソースグループを作成し、各リソースグループの計算ユニットCUの上限と下限を設定できます。業務において関連するレポートやデータウェアハウスなどのSQLタスクやジョブを対応するリソースグループに送信することで、異なるカテゴリのタスク間でのリソース分離を実現し、個別の大規模クエリがリソースを長期間占有するのを防ぐことができます。
機能特性
リソースグループの分離
リソースグループを使用することで、Spark標準エンジンのリソース分離を実現できます。異なるユーザーやクエリに適切なリソースグループを割り当てることで、リソース分離の役割を果たし、単一のユーザーや大規模クエリが計算エンジンリソースの大部分を独占するのを防ぐことができます。
リソースグループの弾力性
リソースグループのExecutor数を動的に割り当てるように設定すると、リソースグループは負荷に応じてSQLタスクやジョブが使用するリソースを動的に調整し、リソース利用率を効果的に向上させます。
動的割り当ての設定は以下の図の通りです。
タスク01とタスク02の両方に動的割り当てを設定し、TimeAではそれぞれ8CUのリソース量を占有して実行します。TimeBになるとタスク01は4CUのみ必要とし、4CUの空きリソースをタスク02に解放して使用させ、全体のリソース利用率を向上させます。以下の図の通りです。
リソースグループタイプ
現在のDLCは、3種類のリソースグループをサポートしています:SQL分析専用リソースグループ、ジョブリソースグループ、および機械学習リソースグループです。また、標準エンジンを購入する際に「SQL分析専用」と「ジョブ」タイプのリソースグループをデフォルトで作成することをサポートし、ユーザーが自主的に「SQL分析専用」と「機械学習」タイプのリソースグループを作成することも可能です。以下では、3種類のリソースグループの使用シナリオと特性についてそれぞれ説明します:
SQL分析リソースグループのみ:データ探索などのモジュールで設定および使用可能で、SQLクエリ分析シナリオをサポートします。
ジョブリソースグループ:データジョブシナリオで使用されます。データジョブを作成する際にエンジンを選択すると、そのエンジンのジョブリソースグループがデフォルトで使用されます。このジョブのリソース設定は、データジョブ作成時に設定できます。
機械学習リソースグループ:Python、ML機械学習フレームワーク、PySparkを使用したAIモデルトレーニングのシナリオ向け。
クイック設定
リソースグループリソースにはクイック設定オプションが提供されており、ユーザーはリソースグループの総仕様(単位:CU数)を簡単に設定できます。バックエンドは戦略に基づいてリソースを自動的に割り当てます。
具体的なポリシーは以下の通りです:
1. デフォルトで動的割り当てをオンにします。
2. 総仕様[4,8):driverとexecutorは2CUを使用します。
3. 総仕様[8,64):driverとexecutorは4CUを使用します。
4. 総仕様[64,∞):driverとexecutorは8CUを使用します。
リソースグループ監視
リソースグループ監視は、ユーザーにタスクとリソース使用状況の包括的な洞察を提供し、リソースの割り当てとスケジューリング効率の最適化を支援します。
リソースグループ概要
1. リソース上限:リソースグループで動的割り当てが有効になっていない場合は、リソースグループの固定リソースとなります。リソースグループで動的割り当てが有効になっている場合は、リソースグループに設定されたMaxリソースとなります。
2. 占有済みリソース:対応するリソースグループが起動したPodが占有しているリソースをリアルタイムで取得します。
3. 残り利用可能リソース:ユーザーが現在のリソースグループで利用可能なリソース、つまりリソース上限 - 占有済みリソース。
リソースグループ監視詳細指標
タスク指標(Task)
異なる状態(キャンセル、失敗、初期化、実行中、待機中、成功)におけるタスク数を統計します。
タスク時間指標:平均初期化時間、最大初期化時間、平均待機時間及び最大待機時間。タスクの起動とスケジューリング効率の分析に役立ちます。
リソース集計指標
リソースグループによって起動されたExecutor Coreの総数で、リソースグループが申請した計算リソースの規模を反映します。
リソースグループがアクティブに使用しているExecutor Coreの総数で、現在実際に使用されている計算リソース量を示します。
計算ユニット(CU)指標
リソースグループのCU使用量で、リソースグループが消費する計算ユニットリソースを定量化します。
CU使用率は、リソースグループの計算リソースの利用効率を反映します。
注意:
機械学習リソースグループの監視は、現在計算ユニット(CU)指標のみサポートされています。
利用制限
リソースグループ名はグローバルに一意であり、名前はすべて英語名を使用することを推奨します。
関連用語
|
デフォルトのリソースグループ (システムデフォルトで作成) | SQL分析専用リソースグループ:エンジン作成時に存在し、default-rg-xxx という名前で命名されます。 このデフォルトリソースグループは、初期状態がサスペンドで、自動起動と自動サスペンドを設定します。 このデフォルトリソースグループはリソース構成の変更をサポートしています。 このデフォルトリソースグループは、起動/停止ポリシー、並列数、動的/静的パラメータの設定をサポートしています。 このデフォルトリソースグループは依存パッケージ管理機能をサポートしています。 デフォルトのリソースグループは削除できません。 ジョブリソースグループ:エンジン作成時に存在し、サスペンド、起動、再起動などの操作はサポートされていません。default-job-rg-xxx という名前が付けられています。 このデフォルトリソースグループは、初期状態が準備完了で、自動起動や自動サスペンドを設定できません。 このデフォルトリソースグループはリソース構成の変更をサポートせず、デフォルトでエンジンリソースの上限となります。 このデフォルトリソースグループは、起動停止ポリシーと並列数の設定をサポートせず、動的および静的パラメータの設定をサポートします。 このデフォルトリソースグループは、依存パッケージ管理機能をサポートします。 デフォルトのリソースグループは削除できません。 |
カスタムリソースグループ (ユーザーが手動で作成) | カスタムリソースグループはリソース構成の変更をサポートしています。 カスタムリソースグループは、起動/停止ポリシー、並列数、および動的/静的パラメータの設定をサポートしています。 カスタムリソースグループは削除をサポートしています。 ジョブリソースグループは、カスタマイズおよびカスタムリソースグループに関連する操作をサポートしていません。 |