选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

状态偏斜

聚焦模式
状态偏斜 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对于有状态的运算符,即为其业务逻辑(例如窗口)保持状态的运算符,数据倾斜总是会导致状态偏差。由于数据偏差,某些子任务比其他子任务接收更多的事件,因此还会将更多的数据保留在状态中。但是,即使对于具有均衡分区的应用程序,在状态下保留的数据量也可能存在偏差。例如,对于会话窗口,某些用户和会话分别可能比其他用户和会话长得多。如果较长的会话恰好属于同一个分区,则可能导致同一操作员的不同子任务所保持的状态大小不平衡。

状态偏差不仅会增加单个子任务所需的更多内存和磁盘资源,还会降低应用程序的整体性能。当应用程序使用检查点或保存点时,操作员状态会保留到 Amazon S3 中,以保护该状态免受节点或集群故障的影响。在此过程中(尤其是在 Apache Flink 托管服务上默认启用一次语义的情况下),从外部角度来看,处理会停止,直到由于单个子任务无法保持状态而失败。checkpoint/savepoint has completed. If there is data skew, the time to complete the operation can be bound by a single subtask that has accumulated a particularly high amount of state. In extreme cases, taking checkpoints/savepoints

与数据倾斜类似,状态偏差会大大降低应用程序的速度。

要识别状态偏差,您可以利用 Flink 控制面板。查找最近的检查点或保存点,并在详细信息中比较为各个子任务存储的数据量。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。