基於Tablestore Sink Connector,您可以將Apache Kafka中的資料大量匯入到Tablestore的資料表或者時序表中。

背景資訊

Kafka是一個分布式訊息佇列系統,不同的資料系統可以通過Kafka Connect工具將資料流輸入Kafka和從Kafka擷取資料流。

Tablestore團隊基於Kafka Connect開發了Tablestore Sink Connector。Tablestore Sink Connector會根據訂閱的主題(Topic)輪詢地從Kafka中拉取訊息記錄(Record),並對訊息記錄進行解析,然後將資料大量匯入到Tablestore。該Connector最佳化了資料匯入處理程序,並且支援個人化配置。

Tablestore是阿里雲自研的多模型結構化資料存放區,支援多種資料模型,包括寬表模型和時序模型。您可以將Kafka資料同步到Tablestore中的資料表(寬表模型中的表類型)或者時序表(時序模型中的表類型)。具體操作,請分別參見同步資料到資料表同步資料到時序表

功能特性

Tablestore Sink Connector的主要功能特性如下:

  • 至少交付一次

    保證Kafka訊息記錄從Kafka主題向Tablestore至少交付一次。

  • 資料對應

    Kafka主題中的資料先通過Converter進行還原序列化,您需要在Kafka Connect的worker配置或者connetor配置中修改key.converter和value.converter屬性,以確保配置合適的還原序列化轉換器。您可以選擇Kafka Connect帶有的JsonConverter,也可以選擇由第三方提供的其它Converter或者自訂Converter。

  • 自動建立目標表

    當目標表缺失時,支援根據配置的主鍵列和屬性列白名單(如果有)自動建立目標表。

  • 錯誤處理策略

    由於匯入資料時為大量操作,其中部分訊息記錄可能發生解析錯誤或者寫入錯誤。此時,您可以選擇立即終止任務或者忽略這些錯誤,您還可以選擇將產生錯誤的訊息記錄和錯誤資訊記錄在Kafka訊息系統中或者Tablestore中。

工作模式

Tablestore Sink Connector具有standalone(獨立)模式和distributed(分布式)模式兩種工作模式,請根據實際需要選擇。
  • 在standalone模式下,所有任務都將在單個進程中執行,此模式更易於配置和使用。您可以使用standalone模式瞭解Tablestore Sink Connector的各種功能。
  • 在distributed模式下,所有任務通過多個進程並存執行,此模式支援根據進程變化自動均衡任務以及在執行任務過程中提供容錯能力,穩定性更好。建議您使用distributed模式。