一般性问题

问:什么是适用于 Apache Flink 的亚马逊托管服务?

借助适用于 Apache Flink 的亚马逊托管服务,您可以使用 Apache Flink 实时转换和分析流数据。Apache Flink 是一个用于处理数据流的开源框架和引擎。适用于 Apache Flink 的亚马逊托管服务降低了构建、管理 Apache Flink 应用程序以及与其他亚马逊云科技服务集成的复杂性。

适用于 Apache Flink 的亚马逊托管服务会处理持续运行串流应用程序所需的任何事项,且会自动扩展以匹配传入数据的数量和吞吐量。使用适用于 Apache Flink 的亚马逊托管服务无需管理服务器,没有最低费用或设置成本,且只需为串流应用程序使用的资源付费。 

问:什么是实时流处理,为什么需要它?

由于实时数据来源的爆发式增长,各家公司正以前所未有的速度获取着数据。无论您是需要处理来自移动应用程序和 Web 应用程序的日志数据、来自电子商务平台的购买数据,还是来自 IoT 设备的传感器数据,实时摄取数据都有助于您了解客户、组织和业务的实时动态。

问:我可以使用适用于 Apache Flink 的亚马逊托管服务做什么?

您可以在许多使用案例中使用适用于 Apache Flink 的亚马逊托管服务来连续处理数据,并在几秒钟或几分钟内获得见解,而不需要等待几天甚至几周。适用于 Apache Flink 的亚马逊托管服务让您能够快速构建端到端流处理应用程序,以用于日志分析、点击流分析、物联网(IoT)、广告技术和游戏等等。四种最常见的使用案例是流式提取、转换、加载(ETL)应用程序、连续指标生成、响应式实时分析以及数据流的交互式查询。 

流式 ETL

通过流式 ETL 应用程序,您可以清理、丰富、组织和转换原始数据,然后实时加载到数据湖或数据仓库,从而减少或消除批量 ETL 步骤。这些应用程序可以在交付之前将小的记录缓冲到较大的文件中,并跨流和表执行复杂的联接。例如,您可以构建一个用于连续读取存储在 Amazon Managed Streaming for Apache Kafka(Amazon MSK)中的 IoT 传感器数据的应用程序,按传感器类型组织数据,删除重复的数据,按指定的架构规范化数据,然后将数据交付到 Amazon Simple Storage Service(Amazon S3)。 

连续指标生成

通过连续指标生成应用程序,您可以监视和了解数据随时间变化的趋势。您的应用程序可以将流数据聚合到关键信息中,并将其与报表数据库和监视服务无缝集成,实时为您的应用程序和用户提供服务。借助适用于 Apache Flink 的亚马逊托管服务,您可以使用 Apache Flink 代码(采用 Java、Scala、Python 或 SQL 语言)在时间窗口内持续生成时间序列分析。例如,您可以通过每分钟计算一次顶级玩家为一款移动游戏建立一个实时排行榜,然后将其发送到 Amazon DynamoDB。您还可以通过每五分钟计算一次唯一身份网站访客的数量并将处理结果发送至 Amazon Redshift 来跟踪网站的流量。

响应式实时分析

当某些指标达到预定义的阈值时,或者在更高级的情况下,当您的应用程序使用机器学习(ML)算法检测到异常时,响应式实时分析应用程序会发送实时警报或通知。借助这些应用程序,您可以即刻对业务变化做出响应,例如,预测移动应用的用户弃用趋势,以及识别降级系统。例如,某个应用程序可以计算面向客户的 API 在一段时间内的可用性或成功率,然后将结果发送到 Amazon CloudWatch。您可以构建另一个应用程序来查找符合特定条件的事件,然后使用 Amazon Kinesis Data Streams 和 Amazon Simple Notification Service(Amazon SNS)自动通知适当的客户。

数据流的交互式分析

交互式分析可帮助您实时探索流数据。借助专属查询或程序,您可以从 Amazon MSK 或 Amazon Kinesis Data Streams 查看数据流,并将数据在这些流中的活动情况可视化。例如,您可以查看计算时间窗内平均值的实时指标的行为方式,并将聚合数据发送到您选择的目标。交互式分析还有助于流处理应用程序的迭代开发。您所构建的查询将随着新数据的到来持续更新。借助适用于 Apache Flink 的亚马逊托管服务,您可以部署这些查询以使其持续运行,同时启用自动扩缩和持久状态备份。 

开始使用

如何开始使用适用于 Apache Flink 的亚马逊托管服务的 Apache Flink 应用程序?

登录适用于 Apache Flink 的亚马逊托管服务控制台并创建新的流处理应用程序。也可以使用 Amazon CLI 和 Amazon 开发工具包。创建应用程序之后,选择首选的集成式开发环境,连接到亚马逊云科技,并安装使用您所选语言的开源 Apache Flink 库和亚马逊云科技软件开发包。Apache Flink 是一种处理数据流的开源框架和引擎,也是亚马逊软件开发工具包。可扩展库包括超过 25 个预构建的流处理运算符(如窗口和汇总)以及亚马逊云科技服务集成(如 Amazon MSK、Amazon Kinesis Data Streams、Amazon DynamoDB 和 Amazon Kinesis Data Firehose)。构建完成后,将您的代码上传到适用于 Apache Flink 的亚马逊托管服务。然后,该服务会处理持续运行实时应用程序所需的任何事项,包括自动扩展以匹配传入数据的大小和吞吐量。

问:如何开始将 Apache Beam 应用程序与适用于 Apache Flink 的亚马逊托管服务结合使用?

使用 Apache Beam 创建适用于 Apache Flink 应用程序的亚马逊托管服务的方法与开始使用 Apache Flink 的方法非常相似。可以按照上面问题中的说明进行操作。确保按照开发人员指南中的说明安装在 Apache Beam 上运行应用程序所需的所有组件。请注意,只有在 Apache Beam 上运行时,适用于 Apache Flink 的亚马逊托管服务才支持 Java SDK。

问:如何开始使用适用于 Apache Flink Studio 的亚马逊托管服务?

您可以从适用于 Apache Flink 的亚马逊托管服务控制台开始创建新的 Studio 笔记本。启动笔记本后,您可以在 Apache Zeppelin 中打开它,立即用 SQL、Python 或 Scala 编写代码。您可以通过内置集成以及其他 Apache Flink 支持的具有自定义连接器的源和目标,通过 Amazon Kinesis Data Streams、Amazon MSK 和 Amazon S3 的笔记本界面以交互方式开发应用程序。您可以在 Flink SQL 和 Table API 中使用 Apache Flink 支持的所有运算符来执行数据流的临时查询,以及开发您的流处理应用程序。准备就绪后,只需几个步骤即可构建代码并将其提升为具有自动扩缩和持久状态的持续运行的流处理应用程序。

问:适用于 Apache Flink 的亚马逊托管服务有什么限制?

适用于 Apache Flink 的亚马逊托管服务可对应用程序进行弹性扩展,以适应源流的数据吞吐量和大多数情况下的查询复杂性。有关 Apache Flink 应用程序服务限制的详细信息,请查看《适用于 Apache Flink 的亚马逊托管服务开发人员指南》中的“限制”部分。

问:适用于 Apache Flink 的亚马逊托管服务是否支持架构注册?

是,通过使用 Apache Flink DataStream 连接器,适用于 Apache Flink 应用程序的亚马逊托管服务可以使用 Amazon Glue Schema Registry,这是 Amazon Glue 的一项无服务器功能。您可以将 Apache Kafka/Amazon MSK 和 Amazon Kinesis Data Streams 作为接收器和源与适用于 Apache Flink 的亚马逊托管服务工作负载集成。请访问《Amazon Glue Schema Registry 开发人员指南》以开始使用并了解更多信息。 

重要概念

问:什么是适用于 Apache Flink 应用程序的亚马逊托管服务?

应用程序是您使用的适用于 Apache Flink 的亚马逊托管服务实体。适用于 Apache Flink 应用程序的亚马逊托管服务可以持续实时读取和处理串流数据。您可以使用 Apache Flink 支持的语言编写应用程序代码,以处理传入的串流数据并生成输出。然后,适用于 Apache Flink 的亚马逊托管服务会将输出写入配置的目标。

每个应用程序都包含三个主要组成部分:   

输入

应用程序的串流源。在输入配置中,您需要将串流源映射到数据流。数据从您的数据来源流入您的数据流。您可以使用应用程序代码处理来自这些数据流的数据,然后将处理后的数据发送到后续的数据流或目标。您可以在 Apache Flink 应用程序和 Studio 笔记本的应用程序代码中添加输入,也可以通过适用于 Apache Flink 应用程序的亚马逊托管服务的 API 添加输入。

应用程序代码

应用程序代码是一系列用于处理输入并生成输出的 Apache Flink 运算符。最简单的的应用程序代码可以是单个 Apache Flink 运算符,它从与串流源关联的数据流中读取数据,然后写入与输出关联的另一个数据流。对于 Studio 笔记本,这可能是一个简单的 Flink SQL 选择查询,结果显示在笔记本的上下文中。您可以使用适用于 Apache Flink 应用程序或 Studio 笔记本的亚马逊托管服务支持的语言为其编写 Apache Flink 代码。

输出

然后,您可以选择配置应用程序输出以将数据保存到外部目标。您可以将这些输出添加到适用于 Apache Flink 应用程序和 Studio 笔记本的亚马逊托管服务的应用程序代码中。

问:支持哪些应用程序代码?

适用于 Apache Flink 的亚马逊托管服务支持通过 Java、Scala 和 Python、使用开源 Apache Flink 库和您自己的自定义代码构建的应用程序。适用于 Apache Flink 的亚马逊托管服务还支持通过 Java、使用开源 Apache Beam 库和您自己的客户代码构建的应用程序。适用于 Apache Flink 的亚马逊托管服务支持使用兼容 Apache Flink 的 SQL、Python 和 Scala 构建的代码。 

管理应用程序

问:如何监控适用于 Apache Flink 应用程序的亚马逊托管服务的运行和性能?

亚马逊云科技提供各种工具供您监控适用于 Apache Flink 应用程序的亚马逊托管服务,包括对适用于 Apache Flink 应用程序的 Flink 控制面板的访问。您可以配置其中一些工具来为您进行监视。有关如何监控应用程序的更多信息,请浏览《适用于 Apache Flink 的亚马逊托管服务开发人员指南》

问:如何管理和控制对我的适用于 Apache Flink 应用程序的亚马逊托管服务的访问权限?

适用于 Apache Flink 的亚马逊托管服务需要获取相应权限,才能从您在应用程序中指定的串流数据来源中读取记录。此外,适用于 Apache Flink 的亚马逊托管服务还需要获取相应权限,才能将应用程序输出写入您在应用程序输出配置中指定的目标位置。您可以通过创建适用于 Apache Flink 的亚马逊托管服务可以担任的 Amazon Identity and Access Management(IAM)角色来授予这些权限。您授予该角色的权限决定了适用于 Apache Flink 的亚马逊托管服务在担任该角色时可以执行的操作。有关更多信息,请参阅《适用于 Apache Flink 的亚马逊托管服务开发人员指南》

问:适用于 Apache Flink 的亚马逊托管服务如何扩展我的应用程序?

适用于 Apache Flink 的亚马逊托管服务可对应用程序进行弹性扩展,以适应源流的数据吞吐量和大多数情况下的查询复杂性。适用于 Apache Flink 的亚马逊托管服务以 Amazon KPU 的形式配置容量。一个 KPU 为您提供 1 个 vCPU 和 4GB 内存。

对于 Apache Flink 应用程序以及 Studio 笔记本,适用于 Apache Flink 的亚马逊托管服务每 KPU 分配 50GB 的运行应用程序存储空间,您的应用程序将这些存储空间用于检查点,也可以通过临时磁盘使用它们。检查点是正在运行的应用程序的最新备份,应用程序中断时可立即使用检查点来恢复。您还可以使用 API 中的 Parallelism 和 ParallelismPerKPU 参数,控制适用于 Apache Flink 应用程序的亚马逊托管服务任务(例如从源中读取或执行运算符)的并行执行。Parallelism 定义任务并发实例的数量。所有运算符、源和接收器都按定义的并行数量运行,默认情况下是 1。Parallelism per KPU 定义应用程序每 KPU 可以调度的并行任务数量,默认情况下是 1。有关更多信息,请参阅《适用于 Apache Flink 的亚马逊托管服务开发人员指南》中的“扩展”。

问:与构建和管理 Kinesis Data Analytics 应用程序相关的最佳实践有哪些?

有关 Apache Flink 最佳实践的信息,请参阅《适用于 Apache Flink 的亚马逊托管服务开发人员指南》中的“最佳实践”部分。该部分介绍了容错、性能、日志记录、编码等方面的最佳实践。

有关适用于 Apache Flink Studio 的亚马逊托管服务的最佳实践的信息,请参阅《适用于 Apache Flink Studio 的亚马逊托管服务开发人员指南》的最佳实践部分。除最佳实践外,该部分还包含 SQL、Python 和 Scala 应用程序的最佳实践、将您的代码部署为持续运行流处理应用程序的要求、性能、日志记录等更多信息。

问:我可以通过适用于 Apache Flink 应用程序的亚马逊托管服务访问 Amazon VPC 后端的资源吗?

可以。您可以访问 Amazon VPC 后端的资源。您可以在《Amazon Kinesis Data Analytics 开发人员指南》的使用 Amazon VPC 部分了解如何针对 VPC 访问配置应用程序。

问:单个适用于 Apache Flink 的亚马逊托管服务应用程序可以访问多个 VPC 吗?

否,如果指定多个子网,则所有子网都必须位于同一个 VPC 中。您可以通过在 VPC 之间建立对等连接来连接到其他 VPC。

问:连接到 VPC 的适用于 Apache Flink 应用程序的亚马逊托管服务能否访问互联网和亚马逊云科技服务端点?

在默认配置下,配置为可访问特定 VPC 中资源的适用于 Apache Flink 应用程序的亚马逊托管服务和适用于 Apache Flink Studio 笔记本的亚马逊托管服务无法访问互联网。您可以在《适用于 Apache Flink 的亚马逊托管服务开发人员指南》的“互联网和服务访问”部分了解如何为您的应用程序配置互联网访问权限。 

定价和账单

问:适用于 Apache Flink 的亚马逊托管服务如何收费?

使用适用于 Apache Flink 的亚马逊托管服务,您只需为实际使用量付费。使用适用于 Apache Flink 的亚马逊托管服务无需预置资源,也没有前期成本。 

我们根据用于运行串流应用程序的 Amazon KPU 的数量,按小时收取费用。一个 KPU 表示一个流处理容量单元,由 1 个 vCPU 计算和 4GB 内存组成。适用于 Apache Flink 的亚马逊托管服务会自动调整串流应用程序所需的 KPU 数量,因为内存和计算需求会因处理复杂性和处理串流数据的吞吐量而异。 

对于 Apache Flink 和 Apache Beam 应用程序,需要为每个应用程序收取应用程序编排所用的额外 KPU 的费用。Apache Flink 和 Apache Beam 应用程序会被收取运行应用程序存储和持久应用程序备份的费用。运行应用程序存储用于适用于 Apache Flink 的亚马逊托管服务中的有状态处理功能,并按每月每 GB 收费。持久应用程序备份是可选项,按每月每 GB 收费,并为应用程序提供基于时间点恢复功能。 

对于适用于 Apache Flink Studio 的亚马逊托管服务,在开发或交互模式下,您需要为应用程序编排所用的额外 KPU 付费,交互式开发也需要使用 1 个 KPU。您还需要为运行应用程序存储付费。您不需要为持久应用程序备份付费。

有关更多定价信息,请参阅适用于 Apache Flink 的亚马逊托管服务定价页面

问:我是否需要为处于运行状态但未处理来自源的任何数据的适用于 Apache Flink 应用程序的亚马逊托管服务付费?

对于 Apache Flink 和 Apache Beam 应用程序,如果您的适用于 Apache Flink 应用程序的亚马逊托管服务处于运行状态,则您最低需要支付 2 个 KPU 和 50GB 运行应用程序存储的费用。

对于适用于 Apache Flink Studio 笔记本的亚马逊托管服务,如果您的应用程序处于运行状态,则您最低需要支付 3 个 KPU 和 50GB 运行应用程序存储的费用。

问:除了适用于 Apache Flink 的亚马逊托管服务费用之外,我还可能产生其他费用吗?

适用于 Apache Flink 的亚马逊托管服务是一个完全托管的流处理解决方案,独立于其从中读取数据的串流源和向其中写入处理数据的目标。对于在应用程序中读取和写入的服务,将另行收费。

问:适用于 Apache Flink 的亚马逊托管服务是否在亚马逊云科技中国区域免费套餐中提供?

不。适用于 Apache Flink 的亚马逊托管服务目前不在亚马逊云科技中国区域免费套餐中提供。 

问:什么是 Apache Flink?

Apache Flink 是一个用于流和批量数据处理的开源框架和引擎。由于它提供了功能强大的运算符,解决了核心串流问题,例如复制处理过程,因此能轻松构建串流应用程序。Apache Flink 为基于数据流的分布式计算提供数据分布、通信和容错功能。

问:如何开发应用程序?

首先下载开源库,包括 Amazon SDK、Apache Flink 和亚马逊云科技服务连接器。请参阅《适用于 Apache Flink 的亚马逊托管服务开发人员指南》,获取关于如何下载库并创建您的首个应用程序的说明。 

问:如何使用 Apache Flink 运算符?

运算符将应用程序数据流视为输入,将处理后的数据作为输出发送到应用程序数据流。运算符可以连接在一起,通过多个步骤构建应用程序,并且不需要具备丰富的分布式系统知识即可实现和运算。

问:哪些运算符受支持?

适用于 Apache Flink 的亚马逊托管服务支持 Apache Flink 中的所有运算符,这些运算符可用于解决各种各样的使用案例问题,包括映射、KeyBy、聚合、Window Join 等。例如,映射运算符允许您执行任意处理,从传入的数据流中获取一个元素并生成另一个元素。KeyBy 使用指定的键有逻辑地组织数据,让您能够同时处理类似的数据点。聚合跨多个键(如 sum、min 和 max)进行处理。Window Join 在给定的键和窗口上将两个数据流连接在一起。

如果这些运算符并未满足您的要求,您可以构建自定义运算符。您可以在 Apache Flink 文档中查看完整的 Apache Flink 运算符列表。

问:适用于 Apache Flink 应用程序的亚马逊托管服务支持哪些集成?

您可以使用最少的代码设置 Apache Flink 提供的预构建集成,或者构建您自己的集成来连接几乎任何数据来源。基于 Apache Flink 的开源库支持流源和目标(或接收器)来处理数据交付。还包括通过异步 I/O 连接器来支持数据扩充。其中一些连接器包括:

  • 串流数据来源:Amazon MSK 和 Amazon Kinesis Data Streams
  • 目标位置或接收器:Amazon Kinesis Data Streams、Amazon Kinesis Data Firehose、Amazon DynamoDB、Amazon OpenSearch Service 和 Amazon S3(通过串流文件接收器)

Apache Flink 还包含其他连接器,例如 Apache Kafka、Apache Casssandra 和 Elasticsearch 等。

问:适用于 Apache Flink 应用程序的亚马逊托管服务能否跨流和主题复制数据?

可以。您可以使用适用于 Apache Flink 应用程序的亚马逊托管服务在 Amazon Kinesis Data Streams、Amazon MSK 和其他系统之间复制数据。

问:是否支持自定义集成?

您可以通过构建一组原语类型向应用程序添加源或目标,这样您就能够从文件、目录、套接字或通过网络访问的任何对象进行读写。Apache Flink 为数据来源和数据接收器提供这些原语类型。这些原语类型自带一些配置,例如,能够连续或一次、异步或同步读取和写入数据。例如,您可以通过扩展基于现有文件的源集成来设置一个应用程序,以连续从 Amazon S3 读取数据。

问:适用于 Apache Flink 应用程序的亚马逊托管服务提供哪种交付和处理模型?

如果应用程序是使用幂等运算符(包括源和接收器)构建的,那么适用于 Apache Flink 的亚马逊托管服务中的 Apache Flink 应用程序将使用“恰好一次”交付模型。这意味着处理的数据会影响下游结果一次,而且仅影响一次。

默认情况下,适用于 Apache Flink 应用程序的亚马逊托管服务使用 Apache Flink 的“恰好一次”语义。如果您使用采用 Apache Flink 的“恰好一次”语义的源、运算符和接收器来设计应用程序,那么您的应用程序将支持“恰好一次”处理语义。

问:我可以从我的应用程序存储访问本地存储吗?

可以。适用于 Apache Flink 应用程序的亚马逊托管服务为您的应用程序提供每 KPU 50GB 的运行应用程序存储空间。适用于 Apache Flink 的亚马逊托管服务可根据您的应用程序扩展存储空间。运行应用程序存储用于使用检查点保存应用程序状态。它还可以访问您的应用程序代码,用作临时磁盘以缓存数据或用于任何其他目的。适用于 Apache Flink 的亚马逊托管服务可以随时从运行的应用程序存储中删除未通过检查点(例如运算符、源、接收器)保存的数据。存储在运行应用程序存储中的所有数据均已静态加密。

问:适用于 Apache Flink 的亚马逊托管服务如何自动备份我的应用程序?

适用于 Apache Flink 的亚马逊托管服务使用检查点和快照自动备份正在运行的应用程序的状态。检查点保存当前应用程序状态,并使适用于 Apache Flink 应用程序的亚马逊托管服务能够恢复应用程序的状态,从而提供与无故障处理相同的语义。检查点使用正在运行的应用程序存储。适用于 Apache Flink 应用程序的检查点通过 Apache Flink 的设置检查点功能提供。快照可以保存应用程序的时间点恢复点,并使用持久应用程序备份。快照与 Flink 保存点类似。

问:什么是应用程序快照?

快照让您能够创建并将应用程序还原到先前某个时间点的状态。您可以保留之前的应用程序状态并随时回滚应用程序。您可以控制在任何给定时间拥有的快照数量,从 0 个到数千个不等。快照使用持久的应用程序备份,适用于 Apache Flink 的亚马逊托管服务根据其大小向您收费。默认情况下,适用于 Apache Flink 的亚马逊托管服务会加密快照中保存的数据。您可以通过 API 删除个别快照,或者通过删除应用程序来删除所有快照。

问:支持 Apache Flink 的哪些版本?

要了解有关支持的 Apache Flink 版本的更多信息,请访问适用于 Apache Flink 的亚马逊托管服务发行说明页面。本页还包括适用于 Apache Flink 的亚马逊托管服务支持的 Apache Beam、Java、Scala、Python 和 Amazon SDK 的版本。

问:适用于 Apache Flink 应用程序的亚马逊托管服务能否运行 Apache Beam?

能,适用于 Apache Flink 的亚马逊托管服务支持使用 Apache Beam 构建的串流应用程序。您可以使用 Java 构建 Apache Beam 串流应用程序并在不同的引擎和服务中运行它们,包括在适用于 Apache Flink 的亚马逊托管服务上使用 Apache Flink。您可以在《适用于 Apache Flink 的亚马逊托管服务开发人员指南》中找到有关支持的 Apache Flink 和 Apache Beam 版本的信息。 

问:如何开发 Studio 应用程序?

您可以从适用于 Apache Flink Studio 的亚马逊托管服务、Amazon Kinesis Data Streams 或 Amazon MSK 控制台开始,只需几步即可启动一个无服务器笔记本,从而迅速查询数据流并开展交互式数据分析。

交互式数据分析:您可以在笔记本中使用 SQL、Python 或 Scala 编写代码,以便与流数据进行交互,查询响应时间只需几秒。您可以使用内置的可视化功能在您的笔记本内部探索数据、查看流数据的实时见解,并开发出由 Apache Flink 提供支持的流处理应用程序。

当您的代码已准备好作为生产应用程序运营时,只需一步,就能转化成流处理应用程序,每秒可处理数 GB 的数据,并且无需服务器。

流处理应用程序:准备好将代码推广到生产环境后,您可以通过单击笔记本界面中的“作为流处理应用程序部署”,或者在 CLI 中发出单个命令来构建代码。Studio 会处理大规模运行流处理应用程序所需的所有基础设施管理,并启用自动扩缩功能和持久状态,就像在适用于 Apache Flink 应用程序的亚马逊托管服务中一样。

问:我的应用程序代码是什么样子?

您可以使用 Apache Flink 的 Table API 在笔记本中通过首选的 SQL、Python 或 Scala 语言编写代码。Table API 是一个高级抽象关系型 API,支持 SQL 功能超集。它将提供诸多熟悉的运营功能,例如选择、筛选、加入、按条件分组、整合等,此外还有窗口化等流式特定概念。您可以使用 % 来指定需要在笔记本部分中使用的语言,在不同语言之间切换。编译程序是 Apache Zeppelin 的插件,让您可以为笔记本的各个部分指定语言或数据处理引擎。您还可以构建用户定义的函数并引用它们来改进代码功能。

问:支持哪些 SQL 操作?

您可以执行如下所示的 SQL 操作:

  • 扫描和筛选(SELECT、WHERE)
  • 聚合(GROUP BY、GROUP BY WINDOW、HAVING)
  • 设置(UNION、UNIONALL、INTERSECT、IN、EXISTS)
  • 排序(ORDER BY、LIMIT)
  • 联接(INNER、OUTER、Timed Window — BETWEEN、AND、与暂存表联接 — 跟踪一段时间内的变化的表)
  • 前 N 个
  • 去重复
  • 模式识别

其中一些查询(如 GROUP BY、OUTER JOIN 和前 N 个)为流数据的“结果更新”,这意味着随着流数据的处理,结果会持续更新。还支持其他 DDL 语句,例如 CREATE、ALTER 和 DROP。

问:如何支持 Python 和 Scala?

Apache Flink 的 Table API 通过使用 Python 字符串和 Scala 表达式进行语言集成来支持 Python 和 Scala。其支持的操作与支持的 SQL 操作非常相似,包括选择、排序、分组、连接、筛选和窗口化。我们的开发人员指南中包含操作和示例的完整列表。

问:支持 Apache Flink 和 Apache Zeppelin 的哪些版本?

要了解有关支持的 Apache Flink 版本的更多信息,请访问适用于 Apache Flink 的亚马逊托管服务发行说明页面。本页还包括适用于 Apache Flink 的亚马逊托管服务支持的 Apache Zeppelin、Apache Beam、Java、Scala、Python 和 Amazon SDK 的版本。

问:适用于 Apache Flink Studio 应用程序的亚马逊托管服务默认支持哪些集成?

  • 数据来源:Amazon MSK、Amazon Kinesis Data Streams、Amazon S3
  • 目标位置或接收器:Amazon MSK、Amazon Kinesis Data Streams 和 Amazon S3

问:是否支持自定义集成?

您可以通过更多步骤和几行 Apache Flink 代码(Python、Scala 或 Java)来配置其他集成,以定义与所有 Apache Flink 支持的集成的连接。这包括 Amazon OpenSearch Service、Amazon ElastiCache for Redis、Amazon Aurora、Amazon Redshift、Amazon DynamoDB、Amazon Keyspaces 等目标。当您创建或配置适用于 Apache Flink 应用程序的亚马逊托管服务时,您可以为这些自定义的连接器附加可执行文件。

服务水平协议

问:适用于 Apache Flink 的亚马逊托管服务 SLA 提供哪些保证?

我们的服务水平协议(SLA)保证适用于 Apache Flink 的亚马逊托管服务的月度正常运行时间百分比至少达到 99.9%。

问:怎样确定我是否有资格获得 SLA 服务抵扣?

对于您运行任务所在的可用区,如果同一个亚马逊云科技区域内有一个以上的可用区在任何月度账单周期内的月度正常运行时间百分比没有达到 99.9%,那么您就有资格获得适用于 Apache Flink 的亚马逊托管服务 SLA 规定的适用于 Apache Flink 的亚马逊托管服务的 SLA 服务抵扣金。如需所有 SLA 条款与条件的完整详细信息,以及如何提交索赔的详细信息,请访问 Amazon Kinesis SLA 详细信息页面。 

关闭
热线

热线

1010 0766
由光环新网运营的
北京区域
1010 0966
由西云数据运营的
宁夏区域