Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Managed Service for Apache Flink アプリケーションリソースを確認する
このセクションでは、アプリケーションが使用するシステムリソースについて説明します。Apache Flink 用 Managed Serviceがどのようにリソースをプロビジョニングして使用するかを理解しておくと、パフォーマンスが高く安定した Apache Flink アプリケーション用 Managed Serviceの設計、作成、維持に役立ちます。
Managed Service for Apache Flink アプリケーションリソース
Managed Service for Apache Flink は、Apache Flink アプリケーションをホストするための環境を作成する AWS サービスです。Managed Service for Apache Flink サービスは、Kinesis Processing Units (KPUs) と呼ばれるユニットを使用してリソースを提供します。
1 つは、次のシステムリソースKPUを表します。
1 つのCPUコア
4 GBのメモリ(1 GBがネイティブメモリ、3 GBがヒープメモリ)
50 GB のディスクスペース
KPUs は、タスクとサブタスク と呼ばれる個別の実行単位でアプリケーションを実行します。サブタスクはスレッドと同等と考えることができます。
アプリケーションKPUsで使用できる数は、アプリケーションParallelism
の設定と等しく、アプリケーションParallelismPerKPU
の設定で割ったものです。
アプリケーションの並列処理については、 アプリケーションのスケーリングを実装する をご参照ください。
Apache Flink アプリケーションリソース
Apache Flink 環境は、「タスクスロット」と呼ばれる単位を使用してアプリケーションのリソースを割り当てます。Managed Service for Apache Flink がアプリケーションにリソースを割り当てると、1 つ以上の Apache Flink タスクスロットが 1 つの に割り当てられますKPU。1 つの に割り当てられたスロット数は、アプリケーションParallelismPerKPU
の設定と同じKPUです。タスクスロットの詳細については、「Apache Flink ドキュメント」の「ジョブのスケジュール
オペレーターの並列処理
オペレータが使用できるサブタスクの最大数を設定できます。この値は「オペレータ並列度」と呼ばれます。デフォルトでは、アプリケーション内の各オペレータの並列度はアプリケーションの並列度と同じです。つまり、デフォルトでは、アプリケーション内の各オペレータは、必要に応じてアプリケーションで使用可能なすべてのサブタスクを使用できます。
setParallelism
メソッドを使用して、アプリケーション内のオペレータの並列度を設定できます。この方法を使用すると、各オペレータが一度に使用できるサブタスクの数を制御できます。
演算子の詳細については、Apache Flink ドキュメントの「演算子
オペレーターの連鎖
通常、各オペレータは別々のサブタスクを使用して実行しますが、複数のオペレータが常に順番に実行する場合、ランタイムはそれらすべてを同じタスクに割り当てることができます。このプロセスは「オペレータチェイニング」と呼ばれます。
複数のシーケンシャルオペレータがすべて同じデータを操作する場合、それらを 1 つのタスクにまとめることができます。そのために必要ないくつかの基準を以下に挙げます。
オペレータは 1 対 1 の単純な転送を行います。
オペレータの並列度はすべて同じです。
アプリケーションがオペレータを 1 つのサブタスクにチェーンすると、サービスがネットワーク操作を実行したり、オペレータごとにサブタスクを割り当てたりする必要がなくなるため、システムリソースを節約できます。アプリケーションがオペレータチェイニングを使用しているかどうかを確認するには、Apache Flink 用 Managed Serviceコンソールのジョブグラフを見てください。アプリケーションの各頂点は 1 つ以上のオペレータを表します。グラフには、1 つの頂点として連結されたオペレータが表示されます。