Ligar o Apache Kafka® ao Milvus/Zilliz Cloud para ingestão de dados vectoriais em tempo real
Neste guia de início rápido, mostramos como configurar o kafka de código aberto e o Zilliz Cloud para ingerir dados vectoriais.
Este tutorial explica como usar o Apache Kafka® para transmitir e ingerir dados vetoriais no banco de dados vetorial Milvus e no Zilliz Cloud (Milvus totalmente gerenciado), permitindo aplicativos avançados em tempo real, como pesquisa semântica, sistemas de recomendação e análise alimentada por IA.
O Apache Kafka é uma plataforma de streaming de eventos distribuídos concebida para pipelines de alto rendimento e baixa latência. É amplamente utilizado para recolher, armazenar e processar fluxos de dados em tempo real de fontes como bases de dados, dispositivos IoT, aplicações móveis e serviços na nuvem. A capacidade do Kafka de lidar com grandes volumes de dados faz dele uma importante fonte de dados de bancos de dados vetoriais como Milvus ou Zilliz Cloud.
Por exemplo, o Kafka pode capturar fluxos de dados em tempo real - como interações de utilizadores, leituras de sensores, juntamente com as suas incorporações de modelos de aprendizagem automática - e publicar estes fluxos diretamente no Milvus ou no Zilliz Cloud. Uma vez na base de dados vetorial, estes dados podem ser indexados, pesquisados e analisados de forma eficiente.
A integração do Kafka com o Milvus e o Zilliz Cloud proporciona uma forma perfeita de criar pipelines poderosos para fluxos de trabalho de dados não estruturados. O conetor funciona tanto para a implantação do Kafka de código aberto quanto para serviços hospedados, como Confluent e StreamNative.
Neste tutorial, usamos o Zilliz Cloud como uma demonstração:
Etapa 1: baixar o plug-in kafka-connect-milvus
Conclua as etapas a seguir para baixar o plug-in kafka-connect-milvus.
- Descarregue o ficheiro zip mais recente do plugin
zilliz-kafka-connect-milvus-xxx.zip
a partir daqui.
Etapa 2: Baixar o Kafka
- Baixe o kafka mais recente daqui.
- Descompacte o arquivo baixado e vá para o diretório kafka.
$ tar -xzf kafka_2.13-3.6.1.tgz
$ cd kafka_2.13-3.6.1
PASSO 3: Inicie o ambiente do Kafka
NOTA: Seu ambiente local deve ter o Java 8+ instalado.
Execute os seguintes comandos para iniciar todos os serviços na ordem correta:
Iniciar o serviço ZooKeeper
$ bin/zookeeper-server-start.sh config/zookeeper.properties
Iniciar o serviço do corretor Kafka
Abra outra sessão de terminal e execute:
$ bin/kafka-server-start.sh config/server.properties
Quando todos os serviços tiverem sido iniciados com êxito, terá um ambiente Kafka básico a funcionar e pronto a utilizar.
- verifique o guia oficial de início rápido do kafka para obter detalhes: https://kafka.apache.org/quickstart
Etapa 4: configurar o Kafka e o Zilliz Cloud
Certifique-se de que tem o Kafka e o Zilliz Cloud instalados e configurados corretamente.
Se ainda não tiver um tópico no Kafka, crie um tópico (por exemplo,
topic_0
) no Kafka.$ bin/kafka-topics.sh --create --topic topic_0 --bootstrap-server localhost:9092
Se ainda não tiver uma coleção no Zilliz Cloud, crie uma coleção com um campo vetorial (neste exemplo, o vetor tem
dimension=8
). Pode utilizar o seguinte exemplo de esquema no Zilliz Cloud:Nota: Certifique-se de que os esquemas de ambos os lados correspondem um ao outro. No esquema, existe exatamente um campo vetorial. Os nomes de cada campo em ambos os lados são exatamente os mesmos.
Etapa 5: carregar o plug-in kafka-connect-milvus na instância do Kafka
descompacte o ficheiro
zilliz-kafka-connect-milvus-xxx.zip
que descarregou no Passo 1.copie os diretórios
zilliz-kafka-connect-milvus
para o diretóriolibs
da sua instalação do Kafka.modifique o ficheiro
connect-standalone.properties
no diretórioconfig
da sua instalação do Kafka.key.converter.schemas.enable=false value.converter.schemas.enable=false plugin.path=libs/zilliz-kafka-connect-milvus-xxx
crie e configure um ficheiro
milvus-sink-connector.properties
no diretórioconfig
da sua instalação do 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
Passo 6: Iniciar o conetor
Inicie o conetor com o ficheiro de configuração anterior
$ bin/connect-standalone.sh config/connect-standalone.properties config/milvus-sink-connector.properties
Tente produzir uma mensagem para o tópico do Kafka que acabou de criar no 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"}
Verifique se a entidade foi inserida na coleção no Zilliz Cloud. Aqui está o aspeto no Zilliz Cloud se a inserção for bem sucedida:
Suporte
Se precisar de assistência ou tiver dúvidas sobre o Kafka Connect Milvus Connector, não hesite em contactar o responsável pelo conetor: Correio eletrónico: support@zilliz.com