【问题标题】:Flink sql Query on DataStream (Apache Flink Java)数据流上的 Flink sql 查询(Apache Flink Java)
【发布时间】:2018-02-09 03:06:28
【问题描述】:

我完全不喜欢 Apache flink。只是想弄脏我的手。我有以下情况。

  1. 事件数据流
  2. 事件数据流
  3. 规则的数据流
  4. 根据 ruleID 组合这两个数据流

现在我有一个 tuple3 的数据流,看起来像 <ruleId, Rule, Event>。这些规则是我想在事件上运行的 SQL 查询。

我正在研究动态表和 Flink SQL 的概念。我不确定如何进一步处理。有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: java apache-flink stream-processing event-stream-processing


    【解决方案1】:

    Flink 可以对数据流执行 SQL 查询。 SQL 被翻译成流处理作业并被执行。你也许可以使用 Flink SQL 来连接两个事件流(Flink 1.4.0 支持窗口流连接)。

    你不能轻易地使用 Flink SQL 来评估你的规则,因为每个规则都会转化为一个独立的流式作业。因此,一条规则消息将由一个作业处理并触发另一个作业的执行。

    【讨论】:

    • 这里的规则是需要在事件上运行的 SQL 查询()。所以我没有通过 sql 评估我的规则。
    • 对不起,我认为我没有正确理解这一点。您可以在问题中添加示例规则吗?
    • 好的酷!所以我的 DataStream> 看起来像这样:1)规则 - “从事件中选择 *” 2)事件 - “{“key1”:“value1”,“key2”:“value2”}”所以规则是 Sql 查询,而我的事件是一个 JSON,如上所示。我需要使用 apache flink 对该 json 运行此查询。
    • 那么你想根据流中的规则事件启动 SQL 查询是什么?我会有一个 SQL 查询来执行连接并将结果写入 Kafka。然后,您需要一个服务来连接到规则流并启动 Flink SQL 查询,该查询从 Kafka 主题中读取每个传入规则。
    猜你喜欢
    • 1970-01-01
    • 2019-06-21
    • 2020-10-06
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    相关资源
    最近更新 更多