运行 KSQL 来自 spring boot app 的方式是什么

What's the way of running KSQL from spring boot app

我有一个 spring 连接到 kafka 集群的启动应用程序。我如何从 java 代码中 运行 KSQL?

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

但是您可以 运行 使用 REST API 的 KSQL 语句,并且该实现可以在 Spring 启动应用程序中完成。 休息电话看起来像这样:

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

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