

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# データスキュー機能
<a name="troubleshooting-data-skew"></a>

Flink アプリケーションはクラスター上で分散的に実行されます。Flink は複数のノードにスケールアウトするために、キー付きストリームの概念を採用しています。つまり、ストリームのイベントは、顧客 ID などの特定のキーに従って分割され、Flink はノードごとに異なるパーティションを処理できるということです。その後、「[キー付きウィンドウ](https://nightlies.apache.org/flink/flink-docs-stable/docs/dev/datastream/operators/windows/)」、「[プロセス関数](https://nightlies.apache.org/flink/flink-docs-stable/docs/dev/datastream/operators/process_function/)」、「[非同期 I/O](https://nightlies.apache.org/flink/flink-docs-stable/docs/dev/datastream/operators/asyncio/)」など、多くの Flink オペレータがこれらのパーティションに基づいて評価されます。

パーティションキーの選択は、ビジネスロジックによって決まることがよくあります。同時に、「[DynamoDB](https://aws.amazon.com/dynamodb/)」や Spark などのベストプラクティスの多くが Flink にも同様に適用されます。たとえば、次のようなものがあります。
+ パーティションキーのカーディナリティを高く保つこと
+ パーティション間のイベントボリュームの偏りを回避

 Flink ダッシュボードでサブタスク (つまり、同じオペレータのインスタンス) の送受信レコードを比較することで、パーティション内のスキューを特定できます。さらに、Apache Flink 用 Managed Service モニタリングでは、`numRecordsIn/Out` と `numRecordsInPerSecond/OutPerSecond` のメトリクスをサブタスク・レベルでも公開するように設定できます。