Kafka 目標
此主題說明如何使用 Kafka 目標連接器對 Kafka 目標設定連線能力。Kafka 僅可作為複寫任務中的目標使用。
設定 Kafka 作為目標涉及:
- 履行 先決條件
- 設定連線至 Kafka
設定連線屬性
若要設定連接器,進行下列事項:
-
在連線中,按一下建立連線。
-
選取 Kafka 目標連接器,然後提供下列設定:
資料目標
資料閘道
將資料移至 Amazon MSK 時,只有在無法從 Qlik Cloud 存取 Amazon MSK 且只能使用私人連結存取時 (例如若在虛擬私人雲端中),才需要 資料移動閘道。在此情況下,選取您要用來存取目標資料庫的 資料移動閘道。根據您的使用情況,這會是為了從資料來源移動資料而部署的相同或不同 資料移動閘道。
如果您要將資料移至可從 Qlik Cloud 直接存取的 Amazon MSK 執行個體,請選取 無。
-
如果您要將資料移至內部部署 Kafka (請參閱下方的 雲端供應商),您必須選取 資料移動閘道,無論 Kafka 是否可從 Qlik Cloud 直接存取。
-
如果您需要使用 資料移動閘道,則需要 2025.5.40 版或更新版本。
如需關於 資料移動閘道 使用案例的資訊,請參閱 何時需要 資料移動閘道? 和 常見使用案例。
雲端供應商
選擇 無 以使用內部部署 Kafka,或選擇 Amazon MSK 以使用 Amazon MSK。
代理伺服器
使用以下格式指定一個或多個代理伺服器 (用於高可用性):
server1[:port1][,server2[:port2]]
範例:
192.168.1.100:9092,192.168.1.101:9093
資料任務將連線到第一個可用的主機。如果指定主機時未指定連接埠,則連接埠 9092 將用作預設值。
當使用 SSL 或 Kerberos 驗證時,您必須指定代理程式 FQDN (亦即不是 IP 位址)。
您的叢集中的所有代理程式伺服器都需要可從 資料移動閘道 機器存取。然而,您不需要指定所有伺服器在 代理程式伺服器 欄位。這是因為 資料移動閘道 只需要連線到其中一個伺服器,以便擷取叢集中其他伺服器的連線詳細資料。因此,最佳實務是在執行任務時指定最有可能可用的伺服器。資料任務產生訊息的伺服器由主題和分割主題以及分割設定決定。
帳戶屬性
驗證方法
選擇以下其中一項:
- 無: 無驗證。
-
憑證:如果您選取此選項,您也需要提供下列資訊:
備註公用和私密金鑰檔案必須是 PEM 格式。
- 公用金鑰檔案: 瀏覽至 PEM 格式的公用金鑰檔案。當您按一下 儲存 時,檔案將會上傳至 Qlik Talend Cloud 並部署至連接器設定中選取的 資料移動閘道。
- 私人金鑰檔案:瀏覽至採用 PEM 格式的私人金鑰檔案。當您按一下 儲存 時,檔案將會上傳至 Qlik Talend Cloud,並部署至在連接器設定中選取的 資料移動閘道。
- 私人金鑰檔案密碼:私人金鑰檔案的密碼。
-
Kerberos (SASL/GSSAPI):選取以使用 Kerberos 對 Kafka 叢集進行驗證。
資訊備註當選取的雲端供應商為Amazon MSK時,此驗證方法無法使用。
- 主體:用於對代理伺服器進行驗證的 Kerberos 主體。
- Keytab 檔案:瀏覽至 keytab 檔案。當您按一下 儲存 時,檔案將上傳至 Qlik Talend Cloud 並部署至連接器設定中選取的 資料移動閘道。
資訊備註若要在 Linux 上使用 Kerberos 驗證,應安裝 Kerberos 用戶端 (工作站) 套件。
-
使用者名稱和密碼 (SASL/PLAIN):您可以選取此選項,以使用使用者名稱和密碼 (SASL/PLAIN) 驗證您自己。為防止密碼以清除文字傳送,強烈建議也啟用 啟用 TLS 選項。
資訊備註當選取的 雲端提供者 為 Amazon MSK 時,此驗證方法無法使用。
-
使用者名稱和密碼 (SASL/SCRAM-SHA-256):您可以選取此選項,以使用使用者名稱和密碼 (SASL/SCRAM-SHA-256) 驗證您自己。
請注意,選取此選項也需要將每個代理程式的 server.properties 檔案設定對應的 SASL/SCRAM 機制。
資訊備註當選取的 雲端供應商 為 Amazon MSK 時,此驗證方法無法使用。
-
使用者名稱和密碼 (SASL/SCRAM-SHA-512):您可以選取此選項,以使用者名稱和密碼 (SASL/SCRAM-SHA-512) 進行驗證。
請注意,選取此選項也需要將每個代理程式的 server.properties 檔案設定對應的 SASL/SCRAM 機制。
SSL 選項
選取此選項可將 Qlik Talend Cloud 與代理伺服器之間的通訊加密。如果代理已設定為需要 SSL,則您必須選取此選項。
-
CA 檔案:瀏覽至 PEM 格式的 CA 憑證。當您按一下 儲存 時,檔案將上傳至 Qlik Talend Cloud 並部署至連接器設定中選取的 資料移動閘道。
資訊備註當選取的雲端供應商是Amazon MSK時,不需要。
中繼資料訊息發佈
結構描述登錄將可用於中繼資料訊息發佈
從下拉式清單選取下列其中一個選項:
-
否
選取此選項時,只會發佈資料訊息。
-
Confluent 結構描述登錄
如果您選取此選項,您也必須設定如下所述的結構描述登錄連線內容。
-
Confluent 結構描述登錄選項僅支援 Avro 訊息格式。
-
強烈建議不要將結構描述訊息發佈到與資料訊息相同的主題。
-
如果主題不存在,請使用auto.create.topics.enable=true來設定代理程式,以讓資料任務在執行階段建立主題。否則,任務將會失敗。
訊息格式
選擇 JSON 或 Avro 作為訊息格式。如果您選擇了 Confluent schema registry,Avro 將是唯一可用的選項。
Schema registry 連線屬性
Schema registry 伺服器
指定一個或多個 Schema Registry 伺服器,使用以下格式 (用於高可用性):
將資料結構描述發佈至 Confluent 結構描述登錄時:
server1:port1[,server2[:port2]]
範例:
192.168.1.100:8081,192.168.1.101:8081
資料任務將連線到第一個可用的主機。
將資料結構描述發佈至 Hortonworks 結構描述登錄時:
server1:port1[,server2[:port2]]
範例:
192.168.1.100:7788,192.168.1.101:7788
資料任務將連線到第一個可用的主機。
驗證方法
選取下列其中一個結構描述登錄驗證選項:
- 無:無驗證。
-
Kerberos: 選取以使用 Kerberos 進行驗證。
資訊備註若要在 Linux 上使用 Kerberos 驗證,應安裝 Kerberos 用戶端 (工作站) 套件。
- 主體: 用於針對結構描述登錄進行驗證的 Kerberos 主體。
-
Keytab 檔案:瀏覽至 keytab 檔案。當您按一下儲存時,檔案將會上傳至 Qlik Talend Cloud,並部署至連接器設定中選取的任何 資料移動閘道。
-
憑證:選擇使用憑證進行驗證。
資訊備註僅在發佈至 Confluent Schema Registry 時才支援此選項。
如果您選擇此選項,還需要提供下列資訊:
- 公開金鑰檔案:瀏覽至 PEM 格式的公開金鑰檔案。當您按一下 儲存 時,檔案將上傳至 Qlik Talend Cloud 並部署至連接器設定中選取的 資料移動閘道。
- 私人金鑰檔案:瀏覽至 PEM 格式的私人金鑰檔案。當您按一下 儲存 時,檔案將上傳至 Qlik Talend Cloud 並部署至連接器設定中選取的 資料移動閘道。
- 私人金鑰密碼:私人金鑰檔案的密碼。
-
使用者名稱和密碼:選取以使用使用者名稱和密碼進行驗證。然後在使用者名稱 和密碼 欄位中輸入您的登入憑證。
資訊備註此選項僅在發佈至 Confluent Schema Registry 時支援。
-
憑證 + 使用者名稱和密碼:選取以同時使用憑證、使用者名稱和密碼進行驗證。
選取此選項時,請在上述說明的公開金鑰檔案、私密金鑰檔案、私密金鑰密碼、使用者名稱和密碼 欄位中輸入所需資訊。
資訊備註此選項僅支援發佈至 Confluent Schema Registry 時使用。
- 啟用 TLS (支援 TLS 1.0、1.1 和 1.2):選取此選項以加密 資料移動閘道 機器與 Schema Registry 伺服器之間的資料。如果伺服器設定為需要 SSL,則您必須選取此選項。
CA 檔案:瀏覽 PEM 格式的 CA 憑證。當您按一下 儲存 時,檔案將上傳至 Qlik Talend Cloud 並部署到連接器設定中選取的 資料移動閘道。
內部屬性
內部屬性用於特殊使用情況,因此不會在對話方塊中顯示。您只能在 Qlik 支援指示下使用。
根據需要使用欄位右側的 和
按鈕以新增或移除屬性。
名稱
連線的顯示名稱。
必要條件
在將 Kafka 用作目標之前,必須滿足下列先決條件:
-
設定權限,以允許資料任務寫入目標主題。執行此操作的一種方法是使用 Kafka ACLs 指令碼 (kafka-acls)。
-
在啟動資料任務之前建立名為 attrep_apply_exceptions 的主題,或使用 auto.create.topics.enable=true 設定代理程式。
請注意,如果此主題不存在,則無論錯誤處理原則為何,任務在遇到資料錯誤時將始終失敗。
如需 attrep_apply_exceptions 控制表的說明,請參閱 套用例外情況。
限制和考慮事項
當定義以 Kafka 作為目標連接器的任務時,適用以下限制:
-
不支援的任務設定:
-
Kafka 目標連接器不支援無限 LOB 大小。因此,當從具有 LOB 欄位的來源資料表移動資料時,請勿選取允許無限 LOB 大小選項。
-
不支援儲存變更模式。
-
批次最佳化套用模式不支援。Kafka 始終在交易式套用模式下運作。
- 對於來源資料類型和表格重新命名的變更,不支援忽略 ALTER套用變更設定。
- 不支援目標表格準備欄位的「捨棄並建立表格」選項。
- 不支援目標表格準備欄位的「載入前截斷」選項。
- 不支援變更資料分割控制表。
-
- 一般限制:
Kafka 主題名稱不能包含空格或超過 255 個字元 (Kafka 0.10 版為 249 個字元),且只能包含下列字元:
a-z|A-Z|0-9|. (點)|_(底線)|-(減號)
如果來源資料表名稱超過允許的最大長度或包含不支援的字元,您需要在啟動任務之前修改名稱,或定義全域轉換。
欄位名稱必須以 [A-Za-z_] (字母或底線) 開頭,後面接著 [A-Za-z0-9_] (字母、數字或底線)。例如,_Test_ 是有效的欄位名稱,而 &Test 則不是。
如果來源欄位名稱不符合此規則,則應使用轉換來重新命名該欄位。
- 不支援捨棄或重新命名來源資料表。
資料類型
下表顯示使用 Qlik Cloud 時支援的 Kafka 資料類型,以及來自 Qlik Cloud 資料類型的預設對應。
當使用 JSON 訊息格式時,二進位值會以十六進位數字表示。
| Qlik Cloud 資料類型 | 結構描述訊息中的 Kafka 目標資料類型 |
|---|---|
|
日期 |
日期 |
|
時間 |
時間 |
|
日期時間 |
日期時間 |
|
位元組 |
位元組 (長度) |
|
BLOB |
BLOB |
|
REAL4 |
REAL4 (7) |
|
REAL8 |
REAL8 (14) |
|
INT1 |
INT1 (3) |
|
INT2 |
INT2 (5) |
|
INT4 |
INT4 (10) |
|
INT8 |
INT8 (19) |
|
UINT1 |
UINT1 (3) |
|
UINT2 |
UINT2 (5) |
|
UINT4 資訊備註
不支援大於 2^31-1 的值。 |
UINT4 (10) |
|
UINT8 資訊備註
不支援大於 2^63-1 的值。 |
UINT8 (20) |
|
數字 |
數值 (p,s) |
|
字串 |
字串 (長度) |
|
WSTRING |
字串 (長度) |
|
CLOB |
CLOB |
|
NCLOB |
NCLOB |
|
布林值 |
布林 (1) |
對應至 JSON 與 Avro
Avro 訊息格式使用邏輯類型以更精確地表示資料類型。
Qlik Cloud 資料類型只會對應至支援的 Avro 邏輯資料類型,如果 針對特定資料類型使用邏輯資料類型 核取方塊已選取。
| Qlik Cloud 資料類型 | JSON | Avro 邏輯資料類型 |
|---|---|---|
|
日期 |
字串 |
日期 註解一個 Avro INT。 |
|
時間 |
字串 |
TIME-MILLIS 註解一個 Avro INT。 |
|
時間戳記 |
字串 |
TIMESTAMP-MICROS 註解一個 Avro LONG。 |
|
字串 |
字串 |
- |
|
WSTRING |
字串 |
- |
|
CLOB |
字串 |
- |
|
NCLOB |
字串 |
- |
|
數字 |
字串 |
小數點 (p,s) 註解 Avro BYTES。 |
|
位元組 |
位元組 |
- |
|
BLOB |
位元組 |
- |
|
REAL4 |
浮動 |
- |
|
REAL8 |
雙重 |
- |
|
INT1 |
INT |
- |
|
INT2 |
INT |
- |
|
INT4 |
INT |
- |
|
UINT1 |
INT |
- |
|
UINT2 |
INT |
- |
|
UINT4 |
長 |
- |
|
INT8 |
長 |
- |
|
UINT8 |
字串 |
小數點 (20,0) 註解 Avro BYTES。 |
|
布林值 |
布林值 |
- |
使用 Confluent Cloud
下列區段說明如何設定 Kafka 連接器以搭配 Confluent Cloud 使用。
- 在 Confluent Cloud 中建立叢集。
- 將叢集設定中的Bootstrap 伺服器值複製到連接器設定的一般索引標籤中的Broker 伺服器欄位。
- 在連接器設定中,從驗證方法下拉式清單中選取使用者名稱和密碼 (SASL/PLAIN)。
- 在您的 Confluent 叢集的API 存取畫面中,建立API 金鑰組。
- 將金鑰和密碼分別複製到 Kafka 連接器的使用者名稱和密碼欄位。
- 在 Kafka 連接器設定中,選取啟用 TLS選項,並在CA 路徑欄位中指定 CA 檔案的完整路徑。CA 檔案應依據 Confluent 的準則建立,並應包含簽署所有 Confluent Cloud 憑證的 CA 及其根 CA 簽署者。
您現在應該已準備就緒,可使用 Confluent Cloud。