【问题标题】:What's the way of running KSQL from spring boot app从spring boot app运行KSQL的方式是什么
【发布时间】:2019-06-03 18:15:35
【问题描述】:

我有一个连接到 kafka 集群的 Spring Boot 应用程序。如何从 Java 代码运行 KSQL?

【问题讨论】:

    标签: ksqldb


    【解决方案1】:

    目前,没有直接的方法可以将 KSQL 用作 Java 中的库。同样有一个开放的issue#734

    但是您可以使用 REST API 运行 KSQL 语句,并且该实现可以在 Spring Boot 应用程序中完成。 Rest 调用看起来像这样:

    POST /query HTTP/1.1
    Accept: application/vnd.ksql.v1+json
    Content-Type: application/vnd.ksql.v1+json
    
    {
      "ksql": "SELECT * FROM pageviews;",
      "streamsProperties": {
        "ksql.streams.auto.offset.reset": "earliest"
      }
    }
    
    // Through Curl 
    curl -X "POST" "http://localhost:8088/ksql" \
         -H "Content-Type: application/vnd.ksql.v1+json; charset=utf-8" \
         -d $'{
      "ksql": "LIST STREAMS;",
      "streamsProperties": {}
    }'
    

    您可以在此处找到文档:
    https://docs.confluent.io/current/ksql/docs/developer-guide/api.html#rest-endpoint

    【讨论】:

    【解决方案2】:

    从 ksqlDB 0.10 开始,现在有了一个 Java 客户端:https://docs.ksqldb.io/en/latest/developer-guide/ksqldb-clients/java-client/

    【讨论】:

    • 示例用法会更有帮助:)
    • 我链接的产品文档中有一些示例 - 我不是 Java 编码员,所以我宁愿人们使用这些示例,也不愿复制和粘贴我可能会出错的内容 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 2018-09-20
    • 2021-11-12
    • 2018-11-29
    • 2019-09-23
    • 1970-01-01
    相关资源
    最近更新 更多