🚀 免費嘗試 Zilliz Cloud,完全托管的 Milvus,體驗速度提升 10 倍!立即嘗試

milvus-logo
LFAI
主頁
  • 整合

連接 Apache Kafka® 與 Milvus/Zilliz Cloud 以進行即時向量資料擷取

在這份快速入門指南中,我們將介紹如何設定開放原始碼 kafka 和 Zilliz Cloud 來擷取向量資料。

本教學說明如何使用 Apache Kafka® 將向量資料串流並擷取至 Milvus 向量資料庫和 Zilliz Cloud (完全由 Milvus 管理),以實現先進的即時應用程式,例如語意搜尋、推薦系統和 AI 驅動的分析。

Apache Kafka 是專為高吞吐量、低延遲管道設計的分散式事件串流平台。它被廣泛用於收集、儲存和處理來自資料庫、物聯網裝置、行動應用程式和雲端服務等來源的即時資料流。Kafka 處理大量資料的能力使其成為 Milvus 或 Zilliz Cloud 等向量資料庫的重要資料來源。

舉例來說,Kafka 可以擷取即時資料流,例如使用者互動、感測器讀數,以及來自機器學習模型的嵌入資料,並直接將這些資料流發佈到 Milvus 或 Zilliz Cloud。一旦進入向量資料庫,這些資料就能被有效率地索引、搜尋和分析。

Kafka 與 Milvus 和 Zilliz Cloud 的整合提供了一種無縫的方式,為非結構化資料工作流程建立強大的管道。該連接器既適用於開源 Kafka 部署,也適用於ConfluentStreamNative 等託管服務。

在本教程中,我們使用 Zilliz Cloud 作為示範:

步驟 1:下載 kafka-connect-milvus 外掛程式

完成以下步驟下載 kafka-connect-milvus 外掛。

  1. 這裡下載最新的外掛壓縮檔zilliz-kafka-connect-milvus-xxx.zip

步驟 2:下載 Kafka

  1. 這裡下載最新的 kafka。
  2. 解壓縮下載的檔案,然後前往 kafka 目錄。
$ tar -xzf kafka_2.13-3.6.1.tgz
$ cd kafka_2.13-3.6.1

第 3 步:啟動 Kafka 環境

注意:您的本機環境必須安裝 Java 8 以上。

執行下列指令,以便以正確的順序啟動所有服務:

  1. 啟動 ZooKeeper 服務

    $ bin/zookeeper-server-start.sh config/zookeeper.properties
    
  2. 啟動 Kafka 代理服務

    開啟另一個終端會話並執行:

    $ bin/kafka-server-start.sh config/server.properties
    

當所有的服務都成功啟動後,您就可以擁有一個基本的 Kafka 環境,隨時可以使用。

  • 詳情請查看官方快速入門指南:https://kafka.apache.org/quickstart。

步驟 4:配置 Kafka 和 Zilliz Cloud

確保您已經設定好 Kafka 和 Zilliz Cloud 並正確配置。

  1. 如果您尚未在 Kafka 中建立主題,請在 Kafka 中建立主題 (例如topic_0)。

    $ bin/kafka-topics.sh --create --topic topic_0 --bootstrap-server localhost:9092
    
  2. 如果您尚未在 Zilliz Cloud 中建立一個集合,請建立一個具有向量欄位的集合 (在本範例中,向量有dimension=8)。您可以在 Zilliz Cloud 上使用以下示例模式:

    注意:請確保雙方的模式相互匹配。在模式中,正好有一個向量欄位。雙方每個欄位的名稱完全相同。

步驟 5:載入 kafka-connect-milvus 外掛程式到 Kafka Instance

  1. 解壓縮您在步驟 1 下載的zilliz-kafka-connect-milvus-xxx.zip 檔案。

  2. 複製zilliz-kafka-connect-milvus 目錄到您 Kafka 安裝的libs 目錄。

  3. 修改您 Kafka 安裝的config 目錄中的connect-standalone.properties 檔案。

    key.converter.schemas.enable=false
    value.converter.schemas.enable=false
    plugin.path=libs/zilliz-kafka-connect-milvus-xxx
    
  4. 在您 Kafka 安裝的config 目錄中建立並配置milvus-sink-connector.properties 檔案。

    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
    

步驟 6:啟動連接器

  1. 使用之前的配置文件啟動連接器

    $ bin/connect-standalone.sh config/connect-standalone.properties config/milvus-sink-connector.properties
    
  2. 嘗試製作一個訊息到您剛在 Kafka 中建立的 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. 檢查該實體是否已插入到 Zilliz Cloud 的集合中。下面是插入成功後在 Zilliz Cloud 上的樣子:

支援

如果您需要任何協助或有任何關於 Kafka Connect Milvus Connector 的問題,請隨時聯繫 Connector 的維護者:電子郵件: support@zilliz.com