Draft:KSML (Apache Kafka)
Draft article not currently submitted for review.
This is a draft Articles for creation (AfC) submission. It is not currently pending review. While there are no deadlines, abandoned drafts may be deleted after six months. To edit the draft click on the "Edit" tab at the top of the window. To be accepted, a draft should:
It is strongly discouraged to write about yourself, your business or employer. If you do so, you must declare it. Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
Last edited by Jeroen van Disseldorp (talk | contribs) 40 days ago. (Update) |
The following Wikipedia contributor may be personally or professionally connected to the subject of this page. Relevant policies and guidelines may include conflict of interest, autobiography, and neutral point of view.
|
KSML is a wrapper around the Kafka Streams library that allows for development of low code stream processing applications. It was developed by Axual early 2021 and released as open source in May 2021. It reached 1.0 status in June 2024 and both language and functionality are now considered stable.
The source code repository can be found on GitHub.
Objective
[edit]The idea behind KSML is to allow a user/developer to specify a streaming application in a declarative language, without having to know or write Java code. The KSML language is a mix of YAML and Python code.
A simple example application looks as follows:
from: topic: input_topic keyType: string valueType: string via: - type: filter predicate: expression: key == 'key1' to: topic: output_topic
This application will read from a Kafka topic called input_topic, filter all messages that contain the key key1 (non-matching messages are dropped) and write the results to output_topic.
More examples can be found in the GitHub repository.