🚀 Prueba Zilliz Cloud, el Milvus completamente gestionado, gratis—¡experimenta un rendimiento 10 veces más rápido! Prueba Ahora>>

milvus-logo
LFAI
Home
  • Integraciones

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.

  1. descargue el último archivo zip del plugin zilliz-kafka-connect-milvus-xxx.zip desde aquí.

Paso 2: Descargar Kafka

  1. Descargue la última versión de kafka desde aquí.
  2. 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:

  1. Inicie el servicio ZooKeeper

    $ bin/zookeeper-server-start.sh config/zookeeper.properties
    
  2. 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.

  1. 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
    
  2. 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

  1. descomprima el archivo zilliz-kafka-connect-milvus-xxx.zip que descargó en el Paso 1.

  2. copie los directorios zilliz-kafka-connect-milvus al directorio libs de su instalación de Kafka.

  3. modifique el archivo connect-standalone.properties en el directorio config de su instalación de Kafka.

    key.converter.schemas.enable=false
    value.converter.schemas.enable=false
    plugin.path=libs/zilliz-kafka-connect-milvus-xxx
    
  4. cree y configure un archivo milvus-sink-connector.properties en el directorio config 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

  1. Inicie el conector con el archivo de configuración anterior

    $ bin/connect-standalone.sh config/connect-standalone.properties config/milvus-sink-connector.properties
    
  2. 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"}
    
  3. 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