在flink流sql中查询和更新流

问题描述 投票:-1回答:1

我正在寻找一个基于flink的解决方案,情况是我有一个trans流和一些可以表示为SQL的规则,我想在查询后更新流(如果匹配ruleSql1设置此transEvent respCode = 01;如果匹配ruleSql2然后设置此transEvent respCode = 02; respCode具有优先级)。

问题是:1。通过flink sql我可以得到一个结果,但是如何将结果反馈给原始流,我预期的输出是具有不同respCode的原始流。我有很多规则,如何合并结果。

原谅我可怜的英语,谢谢!

apache-flink
1个回答
0
投票
  1. Flink的运营商有流进来,转换流出来。目前尚不清楚你想要什么 - 但无论你是想修改每个事件以添加带有响应代码的字段,还是其他东西,它都很容易完成。如果您使用的是SQL,只需在SELECT子句中描述所需的输出即可。
  2. 您可以使用split/select制作流的n个副本,然后将其中一个规则(表示为SQL查询)应用于每个并行副本。然后你可以使用union将它们合并在一起(前提是它们都是相同的类型)。

你会找到关于split,select和union in this section of the docs的文档。

Flink training site有一系列动手练习,你可能会发现它们有助于学习API的各个部分如何组合在一起,尽管没有一个使用split / select / union。

© www.soinside.com 2019 - 2024. All rights reserved.