一行配置作业性能提升53%!Flink SQL 性能之旅

最近,我们用 SQL 查询做了一些实验,这个查询关联了一些维表的丰富原始记录。同时,我们也考虑如果使用 DataStream API 实现相同的任务,是否能够从现有机器中激发出更多的性能。在本文中,我们想带你一起看看这是否有可能发生,以及如何实现?我们还会为不同于 PoC 代码的作业提供进一步的提示,并对未来的工作进行展望。

 

我们在 Azure Kubernetes 设置中执行了 10 个标准的 v3 实例(每个实例 2 个CPU)、Ververica Platform 2.0、Flink 1.10 以及每个实例单核 8 并发的实验,这些作为这次试验的背景[1]。我们将给出在稳定状态(即 15 分钟长基准的最后 5 分钟)期间合并的所有源的平均吞吐量,即 numRecordsOutPerSecond。如下示例的源代码可以从链接位置检索:

https://github.com/verververica/lab-sql-vs-datastream 

SQL 查询

首先,让我们看看我们试图超越的查询。下面概述的查询来源于一个流式 SQL 作业中获得的灵感。它执行来自 fact_table 的输入流与几个维表的连接,维表定义如下(维表中的数据为每个最多 100 个字符的随机字符串):

首先,让我们看看我们试图超越的查询。下面概述的查询来源于一个流式 SQL 作业中获得的灵感。它执行来自 fact_table 的输入流与几个维表的连接,维表定义如下(维表中的数据为每个最多 100 个字符的随机字符串):

这个作

你可能感兴趣的:(Flink)