【发布时间】:2019-06-03 18:15:35
【问题描述】:
我有一个连接到 kafka 集群的 Spring Boot 应用程序。如何从 Java 代码运行 KSQL?
【问题讨论】:
标签: ksqldb
我有一个连接到 kafka 集群的 Spring Boot 应用程序。如何从 Java 代码运行 KSQL?
【问题讨论】:
标签: ksqldb
目前,没有直接的方法可以将 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
【讨论】:
从 ksqlDB 0.10 开始,现在有了一个 Java 客户端:https://docs.ksqldb.io/en/latest/developer-guide/ksqldb-clients/java-client/
【讨论】: