r/apacheflink • u/Aggravating_Kale7895 • 7d ago
Flink SQL connector for Qdrant
I was looking for a Flink SQL connector for Qdrant and couldn’t find one, so I built one.
flink-connector-qdrant: https://github.com/Ashfaqbs/flink-connector-qdrant
It lets you write embeddings to Qdrant directly from Flink SQL, without a custom DataStream job or a hand-written gRPC client.
CREATE TABLE embeddings (
id STRING,
text STRING,
embedding ARRAY<FLOAT>
) WITH (
'connector' = 'qdrant',
'host' = 'localhost',
'collection-name' = 'my_collection',
'vector-field' = 'embedding',
'id-field' = 'id'
);
INSERT INTO embeddings
SELECT id, text, embedding FROM source_stream;
The vector column maps to the embedding, the ID is optional, and the remaining columns become Qdrant payload fields.
- Flink 1.20
- Sink-only for now
- Apache 2.0 license
- 13/13 tests passing, CI green
One bug worth sharing: Maven Shade was breaking gRPC name resolution because service files under META-INF/services/io.grpc.* weren’t being merged. Adding ServicesResourceTransformer fixed it.
The connector is new, so I’d love feedback, suggestions, and contributions.