对于新项目,建议您使用新的适用于 Apache Flink Studio 的托管服务,而不是使用适用于 SQL 应用程序的 Kinesis Data Analytics。Managed Service for Apache Flink Studio 不仅操作简单,还具有高级分析功能,使您能够在几分钟内构建复杂的流处理应用程序。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Limits
在使用 Amazon Kinesis Data Analytics for SQL 应用程序时,请注意以下限制:
Kinesis Data Analytics for SQL 可在以下 Amazon 地区使用:美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、加拿大(中部)、欧洲地区(巴黎)、欧洲地区(爱尔兰)、欧洲地区(法兰克福)、欧洲地区(伦敦)、亚太地区(香港)、亚太地区(孟买)、亚太地区(悉尼)、亚太地区(新加坡)、亚太地区(首尔)、亚太地区(东京)、南美洲(圣保罗)、Amazon GovCloud(美国东部)和 Amazon GovCloud(美国西部)。我们未计划在 Amazon 其他区域发布 Kinesis Data Analytics for SQL。
2023 年 6 月 28 日之后,如果您尚未使用 Kinesis Data Analytics for SQL,则将无法使用 Amazon 管理控制台创建新的 Kinesis Data Analytics for SQL 应用程序。如果您在 2023 年 6 月 28 日之前创建了 Kinesis Data Analytics for SQL 应用程序,那么在您已经使用 Kinesis Data Analytics for SQL 的 Amazon 区域,您当前创建和运行应用程序的方式不会发生变化。但是,在您未使用 Kinesis Data Analytics for SQL 的区域,您将不能再使用 Amazon 控制台创建新的应用程序。
2023 年 9 月 12 日之后,如果您尚未使用适用于 SQL 的 Kinesis Data Analytics,则将无法使用 Kinesis Data Firehose 作为来源创建新应用程序。使用
KinesisFirehoseInput
对 Kinesis Data Analytics for SQL 应用程序进行操作的现有客户可以继续使用KinesisFirehoseInput
在使用 Kinesis Data Analytics 的现有账户内添加应用程序。如果您是现有客户,并希望使用KinesisFirehoseInput
在 Kinesis Data Analytics for SQL 应用程序中创建新账户,则可以打开支持案例。有关更多信息,请参阅 Amazon Web Services Support中心。 -
应用程序内部流中的单个行大小限制为 512 KB。Kinesis Data Analytics 最多使用 1 KB 来存储元数据。此元数据计入行限制。
-
应用程序中的 SQL 代码限制为 100 KB。
-
对于窗口化查询,我们建议的最长时间为 1 小时。应用程序内流存储在易失性存储中,在出现意外的应用程序中断时,会导致应用程序从易失性存储中的源数据重建流。
对于单个应用程序内流,我们建议的最大吞吐量为 2 到 20 MB/ 秒,具体取决于应用程序查询的复杂性。
-
在您的账户的每个 Amazon 区域中,您最多可以创建 50 个 Kinesis Data Analytics 应用程序。可以创建一个案例,通过服务限制增加表来申请其他应用程序。有关更多信息,请参阅 Amazon Web Services Support中心
。 -
适用于 SQL 的 Kinesis Data Analytics 单个应用程序可以处理的最大流式处理吞吐量约为 100 MB/秒。这假设您已将应用程序内部流的数量增加到最大值 64,并且您已将 KPU 限制增加到 8 以上(有关详细信息,请参阅以下限制)。如果您的应用程序需要处理超过 100 MB /秒的输入,请执行以下操作之一:
使用多个 Kinesis Data Analytics for SQL 应用程序处理输入
如果您希望继续使用单个流和应用程序,请使用适用于 Java 的 Managed Service for Apache Flink 应用程序。
注意
建议您定期检查应用程序的
InputProcessing.OkBytes
指标,以便您可以规划使用多个 SQL 应用程序,或者如果应用程序的预计输入吞吐量将超过 100 MB/秒,则可以迁移到适用于 Java 的 Managed Service for Apache Flink。此外,还建议您在InputProcessing.OkBytes
上创建 CloudWatch 告警,以便在应用程序接近输入吞吐量限制时收到通知。您可以通过这种方式更新应用程序查询,从而获得更高的吞吐量,避免分析时的反向压力和延迟。有关更多信息,请参阅故障排除。警报也适用于具备上游吞吐量降低机制这一情况。 -
Kinesis 处理单元 (KPU) 数限制为 8 个。有关申请提高此限制的说明,请参阅 Amazon 服务限制中的申请提高限制。
使用 Kinesis Data Analytics,您可以按实际用量付费。将根据运行流处理应用程序所使用的 KPU 平均数量来按小时费率计费。一个 KPU 可为您提供 1 个 vCPU 和 4 GB 内存。
-
每个应用程序可以具有一个流式传输源和最多一个引用数据源。
-
您最多可以为 Kinesis Data Analytics 应用程序配置 3 个目标。建议您使用这些目标中的一个来永久保存应用程序内部错误流数据。
-
存储引用数据的 Amazon S3 对象的大小最多为 1 GB。
-
如果在将 S3 存储桶中存储的引用数据上传到应用程序内部表后更改此数据,您需要使用 UpdateApplication 操作(使用 API 或 Amazon CLI)以在应用程序内部表中刷新数据。目前,Amazon Web Services Management Console在应用程序中不支持刷新引用数据。
-
目前,Kinesis Data Analytics 不支持 Amazon Kinesis 创建器库 (KPL) 生成的数据。
-
您可以为每个应用程序分配最多 50 个标签。