連接 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 部署,也適用於Confluent和StreamNative 等託管服務。
在本教程中,我們使用 Zilliz Cloud 作為示範:
步驟 1:下載 kafka-connect-milvus 外掛程式
完成以下步驟下載 kafka-connect-milvus 外掛。
- 從這裡下載最新的外掛壓縮檔
zilliz-kafka-connect-milvus-xxx.zip
。
步驟 2:下載 Kafka
- 從這裡下載最新的 kafka。
- 解壓縮下載的檔案,然後前往 kafka 目錄。
$ tar -xzf kafka_2.13-3.6.1.tgz
$ cd kafka_2.13-3.6.1
第 3 步:啟動 Kafka 環境
注意:您的本機環境必須安裝 Java 8 以上。
執行下列指令,以便以正確的順序啟動所有服務:
啟動 ZooKeeper 服務
$ bin/zookeeper-server-start.sh config/zookeeper.properties
啟動 Kafka 代理服務
開啟另一個終端會話並執行:
$ bin/kafka-server-start.sh config/server.properties
當所有的服務都成功啟動後,您就可以擁有一個基本的 Kafka 環境,隨時可以使用。
- 詳情請查看官方快速入門指南:https://kafka.apache.org/quickstart。
步驟 4:配置 Kafka 和 Zilliz Cloud
確保您已經設定好 Kafka 和 Zilliz Cloud 並正確配置。
如果您尚未在 Kafka 中建立主題,請在 Kafka 中建立主題 (例如
topic_0
)。$ bin/kafka-topics.sh --create --topic topic_0 --bootstrap-server localhost:9092
如果您尚未在 Zilliz Cloud 中建立一個集合,請建立一個具有向量欄位的集合 (在本範例中,向量有
dimension=8
)。您可以在 Zilliz Cloud 上使用以下示例模式:注意:請確保雙方的模式相互匹配。在模式中,正好有一個向量欄位。雙方每個欄位的名稱完全相同。
步驟 5:載入 kafka-connect-milvus 外掛程式到 Kafka Instance
解壓縮您在步驟 1 下載的
zilliz-kafka-connect-milvus-xxx.zip
檔案。複製
zilliz-kafka-connect-milvus
目錄到您 Kafka 安裝的libs
目錄。修改您 Kafka 安裝的
config
目錄中的connect-standalone.properties
檔案。key.converter.schemas.enable=false value.converter.schemas.enable=false plugin.path=libs/zilliz-kafka-connect-milvus-xxx
在您 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:啟動連接器
使用之前的配置文件啟動連接器
$ bin/connect-standalone.sh config/connect-standalone.properties config/milvus-sink-connector.properties
嘗試製作一個訊息到您剛在 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"}
檢查該實體是否已插入到 Zilliz Cloud 的集合中。下面是插入成功後在 Zilliz Cloud 上的樣子:
支援
如果您需要任何協助或有任何關於 Kafka Connect Milvus Connector 的問題,請隨時聯繫 Connector 的維護者:電子郵件: support@zilliz.com