Kafka mål
I det här ämnet beskrivs hur du konfigurerar anslutningen till ett Kafka-mål med Kafka -målkopplingen. Kafka kan endast användas som mål i en replikeringsuppgift.
Ställa in Kafka som mål omfattar att:
- Uppfylla förhandskraven
- Konfigurera en koppling till Kafka
Ställa in anslutningsegenskaper
Gör så här för att konfigurera kopplingen:
-
I Kopplingar klickar du på Skapa koppling.
-
Välj Kafka-målkopplingen och ange följande inställningar:
Datamål
Datagateway
När data flyttas till Amazon MSK, Gateway för dataflytt behövs enbart om Amazon MSK inte går att komma åt från Qlik Cloud och bara kan nås via en privat länk (om den exempelvis är placerad i ett virtuellt privat moln). I så fall ska du välja Gateway för dataflytt att använda för åtkomst till måldatabasen. Beroende på användningsfall kan det vara samma Gateway för dataflytt som distribuerats för att flytta data från datakällan eller någon annan.
Om du flyttar data till en Amazon MSK-instans som är direkt tillgänglig från Qlik Cloud, välj Ingen.
-
Om du flyttar data till Kafka lokalt (se Molnleverantör nedan), måste du välja en Gateway för dataflytt, oavsett om Kafka är direkt tillgänglig från Qlik Cloud eller inte.
-
Om du behöver använda Gateway för dataflytt, krävs version 2025.5.40 eller senare.
Information om Gateway för dataflytt-användningsfall finns i När krävs Gateway för dataflytt? och Vanlig användning.
Molnleverantör
Välj Ingen för att använda Kafka lokalt eller Amazon MSK för att använda Amazon MSK.
Mäklarservrar
Ange en eller flera mäklarservrar med följande format (för hög tillgänglighet):
server1[:port1][,server2[:port2]]
Exempel:
192.168.1.100:9092,192.168.1.101:9093
Datatasken kommer att ansluta till den första tillgängliga värden. Om en värd anges utan en port kommer port 9092 att användas som standard.
När du använder SSL- eller Kerberos-autentisering måste du ange mäklar-FQDN (d.v.s. inte IP-adressen).
Alla mäklarserverar i klustret måste vara tillgängliga från Gateway för dataflytt maskinen. Du behöver dock inte ange alla servrar i Mäklarserverar -fältet. Detta beror på att Gateway för dataflytt bara behöver ansluta till en av servrarna för att hämta kopplingsdetaljerna för de andra servrarna i klustret. Det är därför bäst att ange de servrar som med största sannolikhet är tillgängliga när uppgiften körs. Servrarna som datauppgiften producerar meddelanden till bestäms av ämnet och partitioneringsämnet, samt partitioneringsinställningarna.
Kontoegenskaper
Autentisering metod
Välj ett av följande:
-
Ingen: Ingen autentisering.
Anteckning om informationInte tillgänglig när den valda molnleverantören är Amazon MSK.
-
Certifikat: Om du väljer det här alternativet måste du också ange följande information:
AnteckningDe offentliga och privata nyckelfilerna måste vara i PEM-format.
- Offentlig nyckelfil: Bläddra till den offentliga nyckelfilen i PEM-format. När du klickar på Spara laddas filen upp till Qlik Talend Cloud och distribueras till den Gateway för dataflytt som valts i kopplingsinställningarna.
- Privat nyckelfil: Bläddra till den privata nyckelfilen i PEM-format. När du klickar på Spara, laddas filen upp till Qlik Talend Cloud och distribueras till Gateway för dataflytt som valts i kopplingsinställningarna.
- Privat nyckelfilslösenord: Lösenordet för den privata nyckelfilen.
-
Kerberos (SASL/GSSAPI): Välj för att autentisera mot Kafka-klustret med Kerberos.
Anteckning om informationDenna autentiseringsmetod är inte tillgänglig när den valda molnleverantören är Amazon MSK.
- Principal: Kerberos-principalen som används för att autentisera mot mäklarservern/servrarna.
- Keytab-fil: Bläddra till keytab-filen. När du klickar på Spara laddas filen upp till Qlik Talend Cloud och distribueras till den Gateway för dataflytt som valts i kopplingsinställningarna.
Anteckning om informationFör att kunna använda Kerberos-autentisering på Linux bör Kerberos-klientpaketet (arbetsstation) installeras.
-
Användarnamn och lösenord (SASL/PLAIN): Du kan välja det här alternativet för att autentisera dig med ett användarnamn och lösenord (SASL/PLAIN). För att förhindra att lösenordet skickas i klartext rekommenderas det starkt att även aktivera alternativet Aktivera TLS.
Anteckning om informationDen här autentiseringsmetoden är inte tillgänglig när den valda Molnleverantör är Amazon MSK.
-
Användarnamn och lösenord (SASL/SCRAM-SHA-256): Du kan välja det här alternativet för att autentisera dig med ett användarnamn och lösenord (SASL/SCRAM-SHA-256).
Observera att om du väljer det här alternativet krävs också att varje mäklares server.properties-fil konfigureras med motsvarande SASL/SCRAM-mekanism.
Anteckning om informationDen här autentiseringsmetoden är inte tillgänglig när den valda molnleverantören är Amazon MSK.
-
Användarnamn och lösenord (SASL/SCRAM-SHA-512): Du kan välja det här alternativet för att autentisera dig med ett användarnamn och lösenord (SASL/SCRAM-SHA-512).
Observera att om du väljer det här alternativet krävs också att varje mäklares server.properties-fil konfigureras med motsvarande SASL/SCRAM-mekanism.
SSL-alternativ
Aktivera TLS (stöder TLS 1.0, 1.1 och 1.2)
Välj det här alternativet för att kryptera kommunikationen mellan Qlik Talend Cloud och mäklarservern/-servrarna. Om mäklarna är konfigurerade att kräva SSL, då måste du välja det här alternativet.
-
CA-fil: Bläddra till CA-certifikatet i PEM-format. När du klickar på Spara, laddas filen upp till Qlik Talend Cloud och distribueras till den Gateway för dataflytt som valts i kopplingsinställningarna.
Anteckning om informationBehövs inte när den valda molnleverantören är Amazon MSK.
Publicering av metadatameddelande
Schemaregistret kommer att vara tillgängligt för publicering av metadata-meddelanden
Välj något av följande alternativ från listrutan:
-
Nej
När det här alternativet är valt kommer endast datameddelandena att publiceras.
-
Confluent schemaregister
Om du väljer det här alternativet måste du också konfigurera egenskaperna för schemaregisterkoppling som beskrivs nedan.
Anteckning om varningNär Confluent schema registry väljs måste du ange följande interna egenskap: CsrSkipGlobalConfig=false
-
Alternativen för Confluent Schema registry stöder endast meddelandeformatet Avro.
-
Det rekommenderas starkt att inte publicera schemameddelanden till samma ämne som datameddelanden.
-
Om ämnena inte finns konfigurerar du mäklarna med auto.create.topics.enable=true för att aktivera datauppgiften att skapa ämnena under körning. Annars kommer uppgiften att misslyckas.
Meddelandeformat
Välj JSON eller Avro som meddelandeformat. Avro kommer att vara det enda tillgängliga alternativet om du valde Confluent schema registry.
Schema registry-kopplingsegenskaper
Schema registry-servrar
Ange en eller flera Schema Registry-servrar med följande format (för hög tillgänglighet):
Vid publicering av datascheman till Confluent Schema Registry:
server1:port1[,server2[:port2]]
Exempel:
192.168.1.100:8081,192.168.1.101:8081
Datatasken kommer att ansluta till den första tillgängliga värden.
Autentisering metod
Välj ett av följande autentiseringsalternativ för Schema Registry:
- Ingen: Ingen autentisering.
Certifikat: Välj att autentisera med ett certifikat.
Om du väljer detta alternativ måste du även ange följande information:
- Offentlig nyckelfil: Bläddra till den offentliga nyckelfilen i PEM-format. När du klickar på Spara laddas filen upp till Qlik Talend Cloud och distribueras till den Gateway för dataflytt som valts i kopplingsinställningarna.
- Privat nyckelfil: Bläddra till den privata nyckelfilen i PEM-format. När du klickar på Spara laddas filen upp till Qlik Talend Cloud och distribueras till den Gateway för dataflytt som valts i kopplingsinställningarna.
- Lösenord för privat nyckel: Lösenordet för den privata nyckelfilen.
Användarnamn och lösenord: Välj att autentisera med ett användarnamn och lösenord. Ange sedan dina inloggningsuppgifter i Användarnamn och lösenord fälten.
Certifikat + Användarnamn och lösenord: Välj att autentisera med både ett certifikat och ett användarnamn och lösenord.
När det här alternativet är valt anger du den nödvändiga informationen i fälten Offentlig nyckelfil, Privat nyckelfil, Lösenord för privat nyckel, Användarnamn och Lösenord som beskrivs ovan.
- Aktivera TLS (stöder TLS 1.0, 1.1 och 1.2): Välj det här alternativet för att kryptera data mellan Gateway för dataflytt maskinen och Schema Registry-servern/servrarna. Om servrarna är konfigurerade för att kräva SSL, måste du välja det här alternativet.
CA-fil: Bläddra till CA-certifikatet i PEM-format. När du klickar på Spara laddas filen upp till Qlik Talend Cloud och distribueras till den Gateway för dataflytt som valts i kopplingsinställningarna.
Interna egenskaper
Interna egenskaper är till för speciella användarfall och visas därför inte i dialogen. De ska bara användas om Qlik-supporten uppmanar dig att göra det.
Använd - och
-knapparna till höger om fälten för att lägga till och ta bort egenskaper efter behov.
Namn
Visningsnamnet för anslutningen.
Förutsättningar
Innan du kan använda Kafka som mål måste följande förutsättningar uppfyllas:
-
Öppna TCP-portar till alla mäklare från Gateway för dataflytt maskinen
-
Ange behörigheter som tillåter datauppgiften att skriva till mål-ämnena. Ett sätt att göra detta är att använda Kafka ACLs-skriptet (kafka-acls).
-
Antingen skapa ett ämne med namnet attrep_apply_exceptions innan datauppgiften startas eller konfigurera mäklarna med auto.create.topics.enable=true.
Observera att om detta ämne inte finns, kommer uppgiften alltid att misslyckas när den stöter på ett datafel, oavsett felhanteringspolicy.
För en beskrivning av kontrolltabellen attrep_apply_exceptions, se Tillämpa undantag.
Begränsningar och överväganden
När du definierar en uppgift med Kafka som målkoppling, gäller följande begränsningar:
-
Uppgiftsinställningar som inte stöds:
-
Kafka-målkopplingen stöder inte obegränsad LOB-storlek. I uppgiftsinställningarna kommer alternativet Inkludera LOB-kolumner och begränsa kolumnstorleken till (KB) att vara aktiverat och skrivskyddat.
-
Läget Lagra ändringar stöds inte.
-
Läget för batch-optimerad tillämpning stöds inte. Kafka fungerar alltid i läget för transaktionell tillämpning.
- Inställningen Ignorera ALTER Tillämpa ändringar stöds inte för ändringar av källdatatyper och tabellomdöpning.
- Alternativet Släpp och skapa tabell för fältet Förberedelse av måltabell stöds inte.
- Alternativet Truncate före inläsning för fältet Förberedelse av måltabell stöds inte.
- Den Change Data Partitioning kontrolltabellen stöds inte.
-
- Allmänna begränsningar:
Kafka-ämnesnamn får inte innehålla mellanslag eller överstiga 255 tecken (249 från Kafka 0.10) och får endast innehålla följande tecken:
a-z|A-Z|0-9|. (punkt)|_(understreck)|-(minustecken)
Om källtabellnamnen överstiger den maximalt tillåtna längden eller innehåller tecken som inte stöds, måste du antingen ändra namnen innan du startar uppgiften eller definiera en global transformation.
Kolumnnamn måste börja med [A-Za-z_] (bokstäver eller ett understreck) följt av [A-Za-z0-9_] (bokstäver, siffror eller ett understreck). Till exempel är _Test_ ett giltigt kolumnnamn medan &Test inte är det.
Om ett källkolumnnamn inte följer denna regel, bör en transformering användas för att byta namn på kolumnen.
- Att släppa eller byta namn på en källtabell stöds inte.
Datatyper
Följande tabell visar de Kafka-datatyper som stöds vid användning av Qlik Cloud och standardmappningen från Qlik Cloud-datatyper.
När JSON-meddelandeformatet används representeras binära värden som hexadecimala siffror.
| Qlik Cloud Datatyper | Kafka måldatatyper i schemameddelanden |
|---|---|
|
DATE |
DATE |
|
TIME |
TIME |
|
DATETIME |
DATETIME |
|
BYTES |
BYTES (längd) |
|
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 Anteckning om information
Värden som är större än 2^31-1 stöds inte. |
UINT4 (10) |
|
UINT8 Anteckning om information
Värden som är större än 2^63-1 stöds inte. |
UINT8 (20) |
|
NUMERIC |
NUMERIC (p,s) |
|
STRING |
STRING (längd) |
|
WSTRING |
STRING (längd) |
|
CLOB |
CLOB |
|
NCLOB |
NCLOB |
|
BOOLEAN |
BOOLEAN (1) |
Mappning till JSON och Avro
Avro-meddelandeformatet använder logiska typer för en mer exakt representation av datatypen.
Qlik Cloud datatyper mappas endast till Avro-logiska datatyper som stöds om kryssrutan Använd logiska datatyper för specifika datatyper är markerad.
| Qlik Cloud-datatyper | JSON | Avro-logiska datatyper |
|---|---|---|
|
DATE |
STRING |
DATE Annoterar en Avro INT. |
|
TIME |
STRING |
TID-MILLIS Annoterar en Avro INT. |
|
TIMESTAMP |
STRING |
TIDSSTÄMPEL-MIKROSEKUNDER Annoterar en Avro LONG. |
|
STRING |
STRING |
– |
|
WSTRING |
STRING |
– |
|
CLOB |
STRING |
– |
|
NCLOB |
STRING |
– |
|
NUMERIC |
STRING |
DECIMAL (p,s) Annoterar en Avro BYTES. |
|
BYTES |
BYTES |
– |
|
BLOB |
BYTES |
– |
|
REAL4 |
FLOAT |
– |
|
REAL8 |
DOUBLE |
– |
|
INT1 |
INT |
– |
|
INT2 |
INT |
– |
|
INT4 |
INT |
– |
|
UINT1 |
INT |
– |
|
UINT2 |
INT |
– |
|
UINT4 |
LONG |
– |
|
INT8 |
LONG |
– |
|
UINT8 |
STRING |
DECIMAL (20,0) Annoterar en Avro BYTES. |
|
BOOLEAN |
BOOLEAN |
– |