【问题标题】:Dynamic SQL Query in FlinkFlink 中的动态 SQL 查询
【发布时间】:2019-05-31 21:48:12
【问题描述】:

我有一个这样的 SQL 查询

String ipdetailsSql = "select sid, _zpsbd6 as ip_address, ssresp, reason,  " +
        "SUM(CASE WHEN botcode='r1' THEN 1 ELSE 0 END ) as icf_count, " +
        "SUM(CASE WHEN botcode='r2' THEN 1 ELSE 0 END ) as dc_count, " +
        "SUM(CASE WHEN botcode='r5' THEN 1 ELSE 0 END ) as badua_count, " +
        "COUNT(*) as hits, TUMBLE_START(ts, INTERVAL '1' MINUTE) AS fseen " +
        "from sourceTopic   " +
        "GROUP BY TUMBLE(ts, INTERVAL '1' MINUTE), sid, _zpsbd6, ssresp, reason";

根据用户输入,我想将 botcode='r1' 更改为给定输入。说 botcode='r10' 而不重新启动作业。 有没有办法做到这一点。我在使用流 env 的 flink 1.7 上。我尝试配置流来读取输入。 但停留在如何即时更改查询。谁能帮我这个?提前致谢

【问题讨论】:

    标签: apache-flink flink-streaming flink-sql


    【解决方案1】:

    流式 SQL 查询不是执行一次就完成的事情,而是连续计算的声明式表达。如果不使用新查询启动新作业,则不可能对计算进行任意更改。

    不过,在简单的情况下,您可以做一些事情。您可能会考虑是否可以将您的 sourcetopic 与另一个有效地提供一些查询参数的流连接起来。或者,您可能会发现计算所有可能需要的结果,然后在下游选择实际需要的结果是可以负担的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      • 2012-09-28
      • 2018-06-14
      • 1970-01-01
      相关资源
      最近更新 更多