本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Data 偏斜
Flink 应用程序以分布式方式在集群上执行。为了向外扩展到多个节点,Flink 使用了键控流的概念,这本质上意味着数据流的事件根据特定的密钥(例如客户 ID)进行分区,然后 Flink 可以处理不同节点上的不同分区。然后根据这些分区对许多 Flink 运算符进行评估,例如,键控 Windows
选择分区键通常取决于业务逻辑。同时,许多最佳实践,例如 DynamoDB
确保分区键的高基数
避免分区之间事件音量出现偏差
您可以通过比较 Flink 控制面板中接收/发送的子任务(即同一操作员的实例)的记录来识别分区中的偏差。此外,还可以将 Kinesis Data Analytics 监控配置为显示子任务级别numRecordsIn/Out和numRecordsInPerSecond/OutPerSecond子任务级别的指标。