データ・フロー・プール
データ・フロー・プールは、多くのデータ・フロー・バッチ、ストリーミング、セッション・ワークロードで、同じテナント内の様々なユーザーが同時に使用できます。
プールは、次のような様々なユースケースに幅広い機能を提供します。
- 多数のエグゼキュータを使用する時間依存の大規模な本番ワークロードで、起動時間を数秒で短縮する必要があります。
- 重要な本番ワークロードは、動的開発ワークロードの影響を受けません。これは、リソースを異なるプールに分けることができるためです。
- データ・フロー実行を特定のプールに送信できるIAMポリシーを使用して、開発のコストおよび使用量を制御します。
- 多数のデータ・フロー実行は、起動時間を短縮して処理する必要があります。
- キューイング・データ・フローは、リソースおよびコスト管理を効率的に使用するためにプールで実行されます。
- ワークロードは、スケジュールに従ってプールの自動開始を必要とする特定の時間ウィンドウでのみ実行され、アイドル時に自動停止します。
- プール内の実行またはリソースに影響を与えない自動セキュリティ・パッチ適用。
プールを使用するための実行およびアプリケーションの構成
データ・フローのアプリケーションおよび実行でプールを使用します。
プールを使用したアプリケーションの開発
アプリケーションの開発中に、アプリケーションに追加するDELETED
以外の任意の状態のプールを選択できます。アプリケーションに追加されたデータ・フロー・プールで構成されているドライバおよびエグゼキュータ・シェイプのみを選択します。
プールを使用したアプリケーションの実行
データ・フロー実行の送信中に、アプリケーションを追加するDELETED
以外の任意の状態のプールを選択します。実行に追加されたデータ・フロー・プールで構成されているドライバおよびエグゼキュータ・シェイプのみを選択します。
プールを使用したデータ・フローのキューイング
プール・コンピュート・リソースが他の実行で使用されている場合、プール・キューにさらに実行を送信できます。デフォルトでは、実行はプール内のリソースが使用可能になるまで待機するために20分間キューに入れられます。「データ・フローの実行」または「アプリケーションの拡張」オプションでSpark構成spark.dataflow.acquireQuotaTimeout
を設定することで、キューの待機時間を構成できます。この構成の値は、1h | 30m | 45minのように書式設定できます。
データ・フロー実行が、プール内のアクティブな実行によって保持されているリソースが使用可能になるのをキューで待機している間、コールド・スタートアップが発生します。
実行からのデータ・フロー・プールの開始
停止されたデータ・フロー・プールまたは受け入れられたデータ・フロー・プールは、プールを使用して実行を発行することによって開始することもできます。
プールが起動するまで待機します。実行タイムアウトを回避するために、プールのキューイング機能を使用することをお薦めします。実行を取り消して停止しても、プールは停止しません。
実行またはアプリケーションでのプールIDの上書き
-
アプリケーションおよび実行にプールを追加する場合は、実行に追加されたプールが使用されます。
-
アプリケーションにプールを追加するが、実行中ではない場合、「実行」を発行すると、アプリケーションに追加されたプールが使用されます。
-
アプリケーションではなく実行にプールを追加する場合、「実行」を発行すると、実行に追加されたプールが使用されます。
-
これにより、同じアプリケーションの異なる実行でio個のプールを使用できます。
限度
- テナント・レベルのデータ・フロー制限およびコンパートメント割当ては、プールの作成中または起動中に引き続き適用可能です。
- プール内のすべての構成の合計で最大1000ノード。
- 作成および使用できるプールの数に制限はありません。管理者は、ユーザー、ユーザー・グループまたはコンパートメントを制限するコンパートメント割当てポリシーを記述して、プールに構成されているノードのシェイプおよび数を制御できます。