# Metadane i wiadomości danych

Ten temat opisuje strukturę i zawartość metadanych i wiadomości danych produkowanych przez Kafka cel łącznik.

## Wiadomość metadanych

Wiadomość metadanych

| Pole | Typ | Opis |
| --- | --- | --- |
| schemaId | Ciąg znaków | Unikatowy identyfikator schematu Avro. |
| pochodzenie | Struktura | Informacje o pochodzeniu danych (Qlik Talend Data Integration serwer, zadanie, tabela i tak dalej) |
| serwer | Ciąg znaków | Nazwa serwera Qlik Talend Data Integration. |
| zadanie | Ciąg znaków | Nazwa zadania. |
| schemat (Nazwa schematu) | Ciąg znaków | Nazwa schematu bazy danych. |
| tabela (Nazwa tabeli) | Ciąg znaków | Nazwa tabeli. |
| tableVersion | Liczba całkowita | Qlik Talend Data Integration utrzymuje numer wersji struktury tabeli źródłowej. Po zmianie DDL w źródle wersja jest zwiększana i generowana jest nowa wiadomość metadanych. |
| znacznik czasu | Ciąg znaków | Data i godzina wiadomości metadanych. |
| tableStructure | Struktura | Opisuje strukturę tabeli. |
| tableColumns | Struktura | Zawiera listę kolumn i ich właściwości. |
| {kolumny} | Struktura | Dla każdej kolumny, rekord z poniższymi właściwościami. |
| porządkowe | Liczba całkowita | Pozycja kolumny w rekordzie. |
| typ | Ciąg znaków | Typ danych kolumny. |
| length | Liczba całkowita | Maksymalny rozmiar danych (w bajtach) dozwolony dla kolumny. |
| precyzja | Liczba całkowita | Dla typu danych NUMERIC, maksymalna liczba cyfr wymagana do przedstawienia wartości. |
| scale | Liczba całkowita | Dla typu danych NUMERIC, maksymalna liczba cyfr po prawej stronie separatora dziesiętnego dozwolona dla liczby. |
| primaryKeyPosition | Liczba całkowita | Pozycja kolumny w kluczu głównym lub indeksie unikatowym tabeli. Wartość wynosi zero, jeśli kolumna nie jest częścią klucza głównego tabeli. |
| dataSchema | Ciąg znaków | Schemat Avro do deserializacji wiadomości danych. |

## Wiadomość danych

Wiadomość danych

| Pole | Typ | Opis |
| --- | --- | --- |
| schemat (nazwa) | Ciąg znaków | Nazwa schematu źródłowej bazy danych zawierającego replikowane tabele źródłowe. |
| tabela (nazwa) | Ciąg znaków | Nazwa tabeli źródłowej. |
| nagłówki | Struktura | Informacje o bieżącym rekordzie. |
| operacja (Operacja) | Enum | Typ operacji.<br><br>Pełne ładowanie – Początkowe ładowanie danych źródłowych do tematu(-ów) docelowego(-ych)<br><br>ODŚWIEŻANIE – Wstawienie rekordu do obiektu docelowego podczas pełnego ładowania<br><br>CDC – Stosuje zmiany w tabeli źródłowej do odpowiedniego tematu<br><br>WSTAWIANIE – Wstawienie nowego rekordu docelowego<br><br>AKTUALIZACJA – Aktualizacja istniejącego rekordu docelowego<br><br>USUWANIE – Usunięcie rekordu docelowego |
| changeSequence (Zmień sekwencję) | Ciąg znaków | Monotonicznie rosnący sekwencer zmian, który jest wspólny dla wszystkich tabel zmian zadania.<br><br>Użyj tego pola, aby uporządkować rekordy w kolejności chronologicznej.<br><br>Dotyczy tylko operacji CDC. |
| timestamp (Znacznik czasu) | Ciąg znaków | Oryginalny znacznik czasu UTC zmiany.<br><br>Dotyczy wyłącznie operacji CDC. |
| pozycjaStrumienia | Ciąg znaków | Pozycja źródłowego strumienia CDC.<br><br>Dotyczy wyłącznie operacji CDC. |
| identyfikatorTransakcji (Identyfikator transakcji) | Ciąg znaków | Identyfikator transakcji, do której należy rekord zmiany.<br><br>Użyj tego pola, aby zebrać wszystkie zmiany konkretnej transakcji.<br><br>Dotyczy wyłącznie operacji CDC. |
| changeMask (Maska zmian) | Ciąg znaków | Wskazuje, które kolumny danych zostały zmienione w tabeli źródłowej.<br><br>Maska zmian to ciąg cyfr szesnastkowych, reprezentujący maskę bitową kolumn danych w kolejności little-endian. Pozycja bitu w masce zmian jest oparta na liczbie porządkowej kolumny w komunikacie metadanych tej tabeli.<br><br>Oznacza to, że jeśli jest 10 kolumn danych, zajmują one bity od 0 do 9 w masce bitowej.<br><br>Jeśli maska UPDATE to 0B szesnastkowo, czyli 1011 binarnie – oznacza to, że kolumny o numerach porządkowych 1, 2 i 4 zostały zmienione.<br><br>Poniżej opisano semantykę bitów:<br><br><ul> <li>W przypadku rekordów INSERT wszystkie wstawione kolumny mają ustawione powiązane bity.</li> <li>W przypadku rekordów DELETE tylko kolumny z kluczem podstawowym (lub unikatowym indeksem) mają ustawione powiązane bity. Umożliwia to funkcji applier skonstruowanie instrukcji DELETE bez konieczności wyszukiwania pól klucza podstawowego z innego źródła.</li> <li>W przypadku rekordów UPDATE każda kolumna, której wartość uległa zmianie, będzie miała ustawiony powiązany bit.</li> </ul><br><br>Informacja<br><br>Kolumny LOB nie są uwzględniane w bicie changeMask. |
| columnMask (Maska kolumn) | Ciąg znaków | Wskazuje, które kolumny danych są obecne w komunikacie. Zazwyczaj obejmuje to wszystkie kolumny tabeli.<br><br>Informacja<br><br>Gdy Przenoszenie ze źródła Oracle bez pełnego dodatkowego logowania, niektóre kolumny mogą nie być obecne w danych, ponieważ nie mogły zostać przeniesione.<br><br>Maska kolumn to ciąg cyfr szesnastkowych, reprezentujący maskę bitową kolumn danych w kolejności little-endian. Pozycja bitu w masce kolumn jest oparta na liczbie porządkowej kolumny w komunikacie metadanych dla tej tabeli.<br><br>Pozwala to aplikatorowi odróżnić wartość null, która jest *rzeczywistą* wartością kolumny, od wartości null, która reprezentuje kolumnę, której nie można było przeniesione ze źródłowej bazy danych. |
| IdentyfikatorZewnętrznegoSchematu | Ciąg znaków | Identyfikator schematu. Będzie to wyświetlane tylko wtedy, gdy pole wyboru Dołącz identyfikator schematu zewnętrznego nagłówek jest zaznaczone.<br><br>Ponieważ identyfikator schematu zmienia się za każdym razem, gdy DDL jest wykonywane na tabeli źródłowej, aplikacje konsumenckie mogą wykorzystać te informacje, aby określić, czy schemat wiadomości uległ zmianie. |
| licznikZdarzeńTransakcji (Licznik Zdarzeń Transakcji) | LONG | Numer sekwencyjny bieżącej operacji w transakcji.<br><br>Może to być użyte do określenia kolejności operacji w ramach transakcji. |
| transakcjaOstatnieZdarzenie (Ostatnie Zdarzenie Transakcji) | Logiczna | „True” oznacza, że jest to ostatni rekord w transakcji, natomiast „False” oznacza, że nie wszystkie rekordy zostały przetworzone. |
| Dane | Struktura | Dane rekordu tabeli |
| {kolumny} |  | Nazwy kolumn i wartości w bieżącym rekordzie. |
| beforeData | Struktura | Dane rekordu tabeli, przed zmianą |
| {kolumny} |  | Nazwy i wartości kolumn, przed zmianą.<br><br>Dotyczy operacji UPDATE. |