Metadaten- und Datennachrichten
In diesem Thema werden die Struktur und der Inhalt der Metadaten- und Datennachrichten beschrieben, die vom Kafka-Ziel Konnektor generiert werden.
Metadatennachricht
| Feld | Typ | Beschreibung |
|---|---|---|
| schemaId | String | Der eindeutige Bezeichner des Avro-Schemas. |
| lineage | Struktur | Informationen über den Ursprung der Daten (Qlik Talend Data Integration-Server, Aufgabe, Tabelle usw.) |
|
server |
String | Der Name des Qlik Talend Data Integration-Servers. |
|
task |
String | Der Name der Aufgabe. |
|
schema (Schemaname) |
String | Der Name des Datenbankschemas. |
|
table (Tabellenname) |
String | Der Name der Tabelle. |
|
tableVersion |
Ganze Zahl | Qlik Talend Data Integration verwaltet eine Versionsnummer der Struktur der Quelltabelle. Bei einer DDL-Änderung an der Quelle wird die Version erhöht und eine neue Metadatennachricht generiert. |
|
timestamp |
String | Das Datum und die Uhrzeit der Metadatennachricht. |
| tableStructure | Struktur | Beschreibt die Struktur der Tabelle. |
|
tableColumns |
Struktur | Enthält die Liste der Spalten und deren Eigenschaften. |
|
{columns} |
Struktur | Für jede Spalte ein Datensatz mit den unten stehenden Eigenschaften. |
|
ordinal |
Ganze Zahl | Die Position der Spalte im Datensatz. |
|
type |
String | Der Spaltendatentyp. |
|
length |
Ganze Zahl | Die maximale Größe der Daten (in Byte), die für die Spalte zulässig ist. |
|
precision |
Ganze Zahl | Für den Datentyp NUMERIC die maximale Anzahl von Stellen, die zur Darstellung des Werts erforderlich sind. |
|
scale |
Ganze Zahl | Für den Datentyp NUMERIC die maximale Anzahl Stellen rechts neben dem Dezimalpunkt, die für eine Zahl zulässig sind. |
|
primaryKeyPosition |
Ganze Zahl | Die Position der Spalte im Primärschlüssel oder eindeutigen Index der Tabelle. Der Wert ist Null, wenn die Spalte nicht zum Primärschlüssel der Tabelle gehört. |
| dataSchema | String | Das Avro-Schema zum Deserialisieren der Datennachrichten. |
Datennachricht
| Feld | Typ | Beschreibung |
|---|---|---|
| schema (Name) | String | Der Name des Quelldatenbankschemas, das die replizierte(n) Quelltabelle(n) enthält. |
| table (Name) | String | Der Name der Quelltabelle. |
|
headers |
Struktur | Informationen zum aktuellen Datensatz. |
|
operation (Vorgang) |
Enum | Der Vorgangstyp. Vollständiges Laden – Erstmaliges Laden der Quelldaten in die Zielthemen REFRESH – Einfügen eines Datensatzes in das Ziel während des vollständigen Ladens CDC – Wendet Quelltabellenänderungen auf das relevante Thema an INSERT – Einfügen eines neuen Zieldatensatzes UPDATE – Aktualisieren eines vorhandenen Zieldatensatzes DELETE – Löschen eines Zieldatensatzes |
|
changeSequence (Sequenz ändern) |
String |
Ein monoton zunehmender Änderungssequenzierer, der allen Änderungstabellen einer Aufgabe gemeinsam ist. Verwenden Sie dieses Feld, um die Datensätze in chronologischer Reihenfolge zu sortieren. Gilt nur für CDC-Vorgänge. |
|
timestamp (Zeitstempel) |
String |
Der ursprüngliche UTC-Zeitstempel der Änderung. Gilt nur für CDC-Vorgänge. |
|
streamPosition |
String |
Die CDC-Quellstream-Position. Gilt nur für CDC-Vorgänge. |
|
transactionId (Transaktions-ID) |
String |
Die ID der Transaktion, zu der der Änderungsdatensatz gehört. Verwenden Sie dieses Feld, um alle Änderungen einer bestimmten Transaktion zu sammeln. Gilt nur für CDC-Vorgänge. |
|
changeMask (Änderungsmaske) |
String |
Gibt an, welche Datenspalten in der Quelltabelle geändert wurden. Die Änderungsmaske ist ein String aus Hexadezimalstellen, der eine Bitmaske von Datenspalten in Little-Endian-Reihenfolge darstellt. Die Bit-Position in der Änderungsmaske basiert auf der Spalten-Ordinalen in der Metadatennachricht der Änderungstabelle. Wenn also 10 Datenspalten vorhanden sind, belegen sie die Bits 0 bis 9 in der Bit-Maske. Wenn die UPDATE-Maske 0B hexadezimal ist, was 1011 binär entspricht, bedeutet dies, dass die Spalten an den Ordinalen 1, 2 und 4 geändert wurden. Das folgende Beispiel beschreibt die Bit-Semantik:
Informationshinweis
LOB-Spalten sind nicht im changeMask-Bit enthalten. |
|
columnMask (Spaltenmaske) |
String |
Zeigt an, welche Datenspalten in der Nachricht vorhanden sind. Normalerweise umfasst dies alle Tabellenspalten. Informationshinweis
Bei verschieben von einer Oracle-Quelle ohne vollständige zusätzliche Protokollierung sind einige Spalten möglicherweise nicht in den Daten vorhanden, da sie nicht verschoben werden konnten. Die Spaltenmaske ist ein String aus Hexadezimalstellen, der eine Bitmaske von Datenspalten in Little-Endian-Reihenfolge darstellt. Die Bit-Position in der Spaltenmaske basiert auf der Spalten-Ordinalen in der Metadatennachricht dieser Tabelle. Dies ermöglicht dem Anwender, einen Nullwert, der der tatsächliche Wert der Spalte ist, von einem Nullwert zu unterscheiden, der eine Spalte darstellt, die nicht aus der Quelldatenbank verschoben werden konnte. |
|
externalSchemaId |
String |
Die Schema-ID. Sie wird nur angezeigt, wenn das Kontrollkästchen Externen Schema-ID-Header einschließen aktiviert ist. Da sich die Schema-ID ändert, sooft eine DDL in der Quelltabelle ausgeführt wird, können Nutzeranwendungen anhand dieser Informationen feststellen, ob sich das Nachrichtenschema geändert hat. |
|
transactionEventCounter (Transaktionsereigniszähler) |
Lang |
Die Sequenznummer des aktuellen Vorgangs in der Transaktion. Sie kann verwendet werden, um die Reihenfolge der Vorgänge innerhalb einer Transaktion zu bestimmen. |
|
transactionLastEvent (Letztes Transaktionsereignis) |
Boolesch |
„True“ gibt an, dass es der letzte Datensatz in der Transaktion ist, wohingegen „False“ angibt, dass nicht alle Datensätze verarbeitet wurden. |
|
Daten |
Struktur | Die Daten des Tabellendatensatzes |
|
{columns} |
Die Spaltennamen und Werte im aktuellen Datensatz. | |
|
beforeData |
Struktur | Die Daten des Tabellendatensatzes vor der Änderung |
|
{columns} |
Die Spaltennamen und Werte vor der Änderung. Gilt für den UPDATE-Vorgang. |