Tabele zmian
Możesz użyć narzędzi dla docelowego punktu końcowego, aby uzyskać informacje przy użyciu metadanych w tabelach zmian. Dane te są definiowane przez kolumny nagłówka dodane do schematu tabeli zmian. Nagłówki te opisano w poniższej tabeli.
Dla każdej tabeli docelowej w zadaniu replikacji w bazie danych zawierającej tabele docelowe utrzymywana jest tabela zmian o odpowiadającej jej nazwie. Więcej informacji zawiera temat Praca z tabelami zmian. Tabela zmian zawiera oryginalne kolumny tabeli i kolumny nagłówka. Kolumny nagłówka zawierają prefiks, dzięki czemu nazwa nie koliduje z nazwami kolumn tabeli źródłowej. Domyślny prefiks to header__
. Aby uzyskać informacje na temat zmiany tego prefiksu, zobacz listę Tabele zmian w obszarze Metadane w Ustawieniach zadania. W poniższej tabeli wymieniono domyślne kolumny nagłówka tabeli zmian.
Nazwa kolumny | Typ | Opis |
---|---|---|
varchar (35) |
Monotonicznie rosnący sekwencer zmian, który jest wspólny dla wszystkich tabel zmian zadania. Sekwencja zmian ma następujący format: YYYYMMDDHHmmSShhxxxxxxxxxxxxxxxxxxx Gdzie:
Część czasowa zwykle odnosi się do czasu zatwierdzenia transakcji, która obejmuje rekord zmiany. Qlik Talend Data Integration zawiera logikę, która utrzymuje monotoniczność numeru sekwencyjnego, dlatego modyfikowanie lub dostosowywanie czasu punktu końcowego może skutkować wieloma zmianami, które będą sprawiać wrażenie, że znajdują się w tym samym znaczniku czasu, ale ze wzrastającą liczbą zmian. Numer xxx...xxx jest zwykle wewnętrznym numerem zmiany z rekordu danych z tą różnicą, że w przypadku rekordów BEFORE-IMAGE jest on taki sam jak numer zmiany pasującego rekordu UPDATE (na przykład, jeśli numer zmiany BEFORE-IMAGE wynosi 1000, a numer zmiany rekordu UPDATE wynosi 1001, wówczas oba mają 1001). Pozwala to na lewe sprzężenie zewnętrzne między tabelą a nią samą, gdzie po lewej stronie skanujemy do punktu w czasie, ale odfiltrowujemy |
|
|
varchar (1) |
Typ operacji. Może to być jeden z następujących typów:
|
|
varbinary (128) |
Maska zmian wskazuje, które kolumny danych w tabeli zmian są powiązane z kolumnami zmienionymi w tabeli źródłowej. Pozycja bitu w masce zmian jest oparta na liczbie porządkowej kolumny w tabeli zmian. Oznacza to, że jeśli jest 5 kolumn nagłówka, zajmują one bity od 0 do 4, a pierwsza kolumna danych jest bitem 5 w masce zmiany. Maska zmiany to kolumna binarna (tablica bajtów) reprezentująca maskę zmiany w kolejności little-endian: Bajt 0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 Bajt 1 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 W tym przykładzie Poniżej opisano semantykę bitów:
Ze względu na ilość miejsca i wydajność przetwarzania rzeczywistą liczbę bajtów przechowywanych w masce zmian można zmniejszyć przez redukcję wartości null. Oznacza to, że zera końcowe nie muszą być przechowywane. Logika obsługi powinna to wziąć pod uwagę. |
|
varchar (128) |
Pozycja źródłowego strumienia CDC. |
|
varchar (12) |
Operacja powiązana z rekordem zmiany. Może to być jedna z następujących operacji:
|
|
varchar (32) |
Identyfikator transakcji, do której należy rekord zmiany. Wartość jest ciągiem szesnastkowym 128-bitowego identyfikatora transakcji. |
|
znacznik czasu |
Oryginalny znacznik czasu UTC zmiany (wartość może być przybliżona). Informacja W przypadku źródła PostgreSQL znacznik czasu jest znany dopiero po zatwierdzeniu. Dlatego do czasu zatwierdzenia zmian w tabelach źródłowych wyświetlana będzie data domyślna (np. 1970-01-01).
|
[header__] |
ciąg znaków |
Nazwa partycji utworzonej w miejscu docelowym, gdy włączona jest opcja Partycjonowanie zmian danych. Nazwa partycji składa się z czasu rozpoczęcia i zakończenia partycji. Przykład: 20170313T123000_20170313T170000 |