blak3mill3r/noah has 43 GitHub stars and 3 forks. GitHot measured 0 stars in 24 hours, 0 in 7 days, and 0 in 15 days. Last checked 2026-11-14 01:41 UTC. Last push 2024-07-15.
측정된 스타 증가
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- 0
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
소개
Kafka Streams in Clojure
데이터README.md
Originalnoah
(makes ark fast)
A simple Clojure interface to the Kafka Streams API
This is not on Clojars yet.
blak3mill3r/noah {:git/url "https://github.com/blak3mill3r/noah" :sha "look it up"}
Why?
Kafka and Clojure seem like natural companions, both emphasizing immutability and the primacy of data.
What's inside?
- A Clojure interface for building topologies and running an app using the high-level Streams API
- Clojure functions work on streams/tables
- maps to provide options
- surprisingly complete (it is generated reflectively)
- A few serialization choices including edn and nippy
- Test utilities exposing
TopologyTestDriver - A macro to ease the definition of a
Transformer- Write access to
StateStores - Punctuations
- Write access to
- Transducers
- Fault-tolerant stateful transducers
Status
Working (with 2.0 cluster and 2.2 client libraries). Probably more interesting than useful at this point. This is a young project which is far from battle-tested and there are some inadequacies.
Kicking the tires
Clone this repo, then try
clj aot.clj
clj -A:test:runner
Usage
At this time no example app code is provided.
:warning: If you want to make an app, you will want to AOT at least noah.serdes
Inadequacies
- There are some gaps in the wrapping, where you would still have to use ugly interop
- Good news: all signatures of all public methods are exposed
- Bad news: some types have no sugar; you should be able to get an idea from the docstrings
- No sugar for
Processor, onlyTransformer - Stateful transducers must be rewritten in order to instrument their state construction
- can't pass reader options for edn serialization, nor can you pass nippy options (well, you can, but it's DIY)
- probably a lot more, feel free to point them out
Reporting bugs
Please open an issue on Github if you spot something amiss.
Contributing
If you find it useful or interesting, I would love to hear about it. PRs are very welcome. It would be great to see a whole lot more transducers get added. I would also welcome feedback and discussion.
Acknowledgements
A tip of the hat is graciously offered to Bobby Calderwood, in whose experiments with KStream transducers I found much inspiration.
License
Copyright © 2018, 2019 Blake Miller
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.
관련 프로젝트 살펴보기
Asabeneh/30-Days-Of-Python
30 Days of Python 프로그래밍 챌린지는 Python 프로그래밍 언어를 30일 동안 배우기 위한 단계별 가이드입니다. 이 챌린지는 100일 이상 걸릴 수 있습니다. 자신의 속도에 맞춰 진행하세요. 다음 동영상도 도움이 될 수 있습니다: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,707 스타grafana/grafana
개방적이고 조합 가능한 옵저버빌리티 및 데이터 시각화 플랫폼입니다. Prometheus, Loki, Elasticsearch, InfluxDB, Postgres 등 여러 소스의 메트릭, 로그, 트레이스를 시각화합니다.
77,892 스타redis/redis
실시간 데이터 기반 애플리케이션을 구축하는 개발자에게 Redis는 가장 선호되고, 가장 빠르며, 기능이 가장 풍부한 캐시, 데이터 구조 서버이자 문서 및 벡터 쿼리 엔진입니다.
77,490 스타apache/superset
Apache Superset는 데이터 시각화 및 데이터 탐색 플랫폼입니다.
75,520 스타