本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
应用程序资
本节介绍应用程序使用的系统资源。了解 Kinesis Data Analytics 如何配置和使用资源将有助于您设计、创建和维护高性能稳定的 Kinesis Data Analytics 应用程序。
Kinesis Data Analytics 应用程序
Kinesis Data AnalyticsAmazon为托管 Apache Flink 应用程序创建一个环境的服务。Kinesis Data Analytics 服务使用名为的单元提供资源Kinesis 处理单元 (KPU).
一个 KPU 代表以下系统资源:
一个 CPU 核心
4 GB 内存,其中 1 GB 是本机内存,三 GB 是堆内存
50 GB 的磁盘空间
KPU 以不同的执行单元运行应用程序任务和子任务. 您可以将子任务视为线程。
可供应用程序使用的 KPU 数量等于应用程序Parallelism
设置,除以应用程序的ParallelismPerKPU
设置。
有关应用程序并行度的更多信息,请参阅扩展.
Apache Flink 应用程序资源
Apache Flink 环境使用名为的单元为应用程序分配资源任务槽. 当 Kinesis Data Analytics 为您的应用程序分配资源时,它会将一个或多个 Apache Flink 任务插槽分配给单个 KPU。分配给单个 KPU 的插槽数量等于你的应用程序ParallelismPerKPU
设置。有关任务槽的更多信息,请参阅作业计划
操作符并行度
您可以设置操作符可以使用的最大子任务数。这个值被称为操作符并行度. 默认情况下,应用程序中每个运算符的并行度等于应用程序的并行度。这意味着,默认情况下,如果需要,应用程序中的每个操作员都可以使用应用程序中的所有可用子任务。
您可以使用以设置应用程序中操作符的并行度setParallelism
方法。使用此方法,您可以控制每个操作员一次可以使用的子任务数量。
有关操作符链的更多信息,请参阅任务链接和资源组
串联操作符
通常,每个运算符都使用单独的子任务来执行,但是如果多个运算符始终按顺序执行,则运行时可以将它们全部分配给同一个任务。此过程称为串联操作符.
如果几个顺序运算符都在同一个数据上运行,则可以将它们链接到一个任务中。以下是实现此所需的一些标准:
运营商进行一对一的简单转发。
运算符都具有相同的运算符并行度。
当您的应用程序将操作员链接到单个子任务中时,它会节省系统资源,因为该服务不需要执行网络操作和为每个操作员分配子任务。要确定应用程序是否使用操作员链接,请查看 Kinesis Data Analytics 控制台中的作业图。应用程序中的每个顶点代表一个或多个操作符。该图显示了作为单个顶点链接的运算符。