Conectar Apache Kafka® con Milvus/Zilliz Cloud para la ingesta de datos vectoriales en tiempo real
En esta guía de inicio rápido mostramos cómo configurar kafka de código abierto y Zilliz Cloud para la ingesta de datos vectoriales.
Este tutorial explica cómo utilizar Apache Kafka® para transmitir e ingerir datos vectoriales en la base de datos vectorial Milvus y Zilliz Cloud (Milvus totalmente gestionado), permitiendo aplicaciones avanzadas en tiempo real como la búsqueda semántica, sistemas de recomendación y análisis impulsados por IA.
Apache Kafka es una plataforma distribuida de flujo de eventos diseñada para canalizaciones de alto rendimiento y baja latencia. Se utiliza ampliamente para recopilar, almacenar y procesar flujos de datos en tiempo real de fuentes como bases de datos, dispositivos IoT, aplicaciones móviles y servicios en la nube. La capacidad de Kafka para manejar grandes volúmenes de datos lo convierte en una importante fuente de datos de bases de datos vectoriales como Milvus o Zilliz Cloud.
Por ejemplo, Kafka puede capturar flujos de datos en tiempo real -como interacciones de usuarios, lecturas de sensores, junto con sus incrustaciones de modelos de aprendizaje automático- y publicar estos flujos directamente en Milvus o Zilliz Cloud. Una vez en la base de datos vectorial, estos datos pueden indexarse, buscarse y analizarse de forma eficiente.
La integración de Kafka con Milvus y Zilliz Cloud ofrece una forma sencilla de crear potentes canalizaciones para flujos de trabajo de datos no estructurados. El conector funciona tanto para la implementación de Kafka de código abierto como para servicios alojados como Confluent y StreamNative.
En este tutorial utilizamos Zilliz Cloud como demostración:
Paso 1: Descargar el plugin kafka-connect-milvus
Completa los siguientes pasos para descargar el plugin kafka-connect-milvus.
- descargue el último archivo zip del plugin
zilliz-kafka-connect-milvus-xxx.zip
desde aquí.
Paso 2: Descargar Kafka
- Descargue la última versión de kafka desde aquí.
- Descomprima el archivo descargado y vaya al directorio kafka.
$ tar -xzf kafka_2.13-3.6.1.tgz
$ cd kafka_2.13-3.6.1
PASO 3: Inicie el entorno Kafka
NOTA: Su entorno local debe tener Java 8+ instalado.
Ejecute los siguientes comandos para iniciar todos los servicios en el orden correcto:
Inicie el servicio ZooKeeper
$ bin/zookeeper-server-start.sh config/zookeeper.properties
Inicie el servicio Kafka broker
Abre otra sesión de terminal y ejecútala:
$ bin/kafka-server-start.sh config/server.properties
Una vez que todos los servicios se hayan iniciado correctamente, tendrás un entorno Kafka básico funcionando y listo para usar.
- consulte la guía oficial de inicio rápido de kafka para más detalles: https://kafka.apache.org/quickstart
Paso 4: Configurar Kafka y Zilliz Cloud
Asegúrese de tener Kafka y Zilliz Cloud instalados y configurados correctamente.
Si aún no tiene un tema en Kafka, cree un tema (por ejemplo,
topic_0
) en Kafka.$ bin/kafka-topics.sh --create --topic topic_0 --bootstrap-server localhost:9092
Si aún no tienes una colección en Zilliz Cloud, crea una colección con un campo vectorial (en este ejemplo el vector tiene
dimension=8
). Puedes utilizar el siguiente esquema de ejemplo en Zilliz Cloud:Nota: Asegúrate de que el esquema de ambas partes coincide. En el esquema, hay exactamente un campo vectorial. Los nombres de cada campo en ambos lados son exactamente los mismos.
Paso 5: Cargar el plugin kafka-connect-milvus en la Instancia Kafka
descomprima el archivo
zilliz-kafka-connect-milvus-xxx.zip
que descargó en el Paso 1.copie los directorios
zilliz-kafka-connect-milvus
al directoriolibs
de su instalación de Kafka.modifique el archivo
connect-standalone.properties
en el directorioconfig
de su instalación de Kafka.key.converter.schemas.enable=false value.converter.schemas.enable=false plugin.path=libs/zilliz-kafka-connect-milvus-xxx
cree y configure un archivo
milvus-sink-connector.properties
en el directorioconfig
de su instalación de Kafka.name=zilliz-kafka-connect-milvus connector.class=com.milvus.io.kafka.MilvusSinkConnector public.endpoint=https://<public.endpoint>:port token=***************************************** collection.name=topic_0 topics=topic_0
Paso 6: Iniciar el conector
Inicie el conector con el archivo de configuración anterior
$ bin/connect-standalone.sh config/connect-standalone.properties config/milvus-sink-connector.properties
Intenta producir un mensaje al topic de Kafka que acabas de crear en Kafka
bin/kafka-console-producer.sh --topic topic_0 --bootstrap-server localhost:9092 >{"id": 0, "title": "The Reported Mortality Rate of Coronavirus Is Not Important", "title_vector": [0.041732933, 0.013779674, -0.027564144, -0.013061441, 0.009748648, 0.00082446384, -0.00071647146, 0.048612226], "link": "https://medium.com/swlh/the-reported-mortality-rate-of-coronavirus-is-not-important-369989c8d912"}
Comprueba si la entidad ha sido insertada en la colección en Zilliz Cloud. Este es el aspecto en Zilliz Cloud si la inserción tiene éxito:
Soporte
Si necesita ayuda o tiene alguna pregunta sobre el conector Milvus Kafka Connect, no dude en ponerse en contacto con el mantenedor del conector: Correo electrónico: support@zilliz.com