Как запустить KSQL из весеннего загрузочного приложения?

У меня есть приложение весенней загрузки, которое подключено к кластеру kafka. Как я могу запустить KSQL из кода Java?

1 ответ

Решение

На данный момент нет прямого способа использовать KSQL как библиотеку в Java. Существует открытая проблема #734 для того же самого.

Но вы можете запустить оператор KSQL с помощью REST API, и эту реализацию можно выполнить в Spring Boot Application. Вызов 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

Начиная с ksqlDB 0.10, теперь есть клиент Java: https://docs.ksqldb.io/en/latest/developer-guide/ksqldb-clients/java-client/

Другие вопросы по тегам