Limits - 适用于 SQL 应用程序的 Amazon Kinesis Data Analytics 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

对于新项目,建议您使用新的适用于 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 /秒的输入,请执行以下操作之一:

    注意

    建议您定期检查应用程序的 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 个标签。