Tabelas de alterações
Você pode usar as ferramentas do endpoint de destino para obter informações usando os metadados nas tabelas de alterações. Esses dados são definidos pelas colunas de cabeçalho adicionadas ao esquema da tabela de alterações. Esses cabeçalhos são descritos na tabela abaixo.
Para cada tabela de destino na tarefa de replicação, uma tabela de alterações com o nome correspondente é mantida no banco de dados com as tabelas de destino. Para obter mais informações, consulte Trabalhando com tabelas de alterações. Uma tabela de alterações contém as colunas da tabela original e as colunas de cabeçalho. As colunas de cabeçalho contêm um prefixo para que o nome não entre em conflito com os nomes das colunas da tabela de origem. O prefixo padrão é header__
. Para obter informações sobre como alterar esse prefixo, consulte a listagem de Tabelas de alterações em Metadados em Configurações de tarefas. A tabela a seguir lista as colunas de cabeçalho da tabela de alterações padrão.
Nome da coluna | Tipo | Descrição |
---|---|---|
varchar (35) |
Um sequenciador de mudanças monotonicamente crescente que é comum a todas as tabelas de alterações de uma tarefa. A sequência de alteração tem o seguinte formato: YYYYMMDDHHmmSShhxxxxxxxxxxxxxxxxxxx Em que:
A parte do tempo geralmente se refere ao tempo de confirmação da transação que inclui o registro de alteração. O Qlik Talend Data Integration contém uma lógica que mantém a monotonicidade do número de sequência. Portanto, modificar ou ajustar o tempo do ponto final pode fazer com que várias alterações pareçam estar dentro do mesmo carimbo de data/hora, mas com um número de alteração crescente. O xxx...xxx é geralmente o número de alteração interna do registro de dados, com a diferença de que, para registros BEFORE-IMAGE, é igual ao número de alteração do registro UPDATE correspondente (por exemplo, se o número de alteração de BEFORE-IMAGE for 1000 e o de UPDATE for 1001, ambos terão 1001). Isso permite uma união simples externa à esquerda entre a tabela e ela mesma, em que à esquerda fazemos a varredura até o ponto no tempo, mas removemos |
|
|
varchar (1) |
O tipo de operação. Pode ser um dos seguintes:
|
|
varbinary (128) |
A máscara de alteração indica quais colunas de dados na tabela de alterações estão associadas às colunas que foram alteradas na tabela de origem. A posição do bit na máscara de alteração é baseada no ordinal da coluna na tabela de alterações. Isso significa que, se houver 5 colunas de cabeçalho, elas ocuparão os bits 0 a 4 e a primeira coluna de dados será o bit 5 na máscara de alteração. A máscara de alteração é uma coluna binária (uma matriz de bytes) que representa a máscara de alteração em ordem little-endian: Byte 0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 Byte 1 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 Neste exemplo, O seguinte descreve a semântica dos bits:
Para eficiência de espaço e processamento, o número real de bytes armazenados na máscara de alteração pode ser cortado em nulo. Isso significa que os zeros à direita não precisam ser armazenados. A lógica de tratamento deve levar isso em consideração. |
|
varchar (128) |
A posição do fluxo de CDC de origem. |
|
varchar (12) |
A operação associada ao registro de alteração. Pode ser um dos seguintes:
|
|
varchar (32) |
O ID da transação à qual pertence o registro de alteração. O valor é uma sequência hexadecimal do ID da transação de 128 bits. |
|
carimbo de data/hora |
O carimbo de data/hora UTC da alteração original (o valor pode ser aproximado). Nota informativa Com a fonte PostgreSQL, o carimbo de data/hora só é conhecido após a ocorrência da confirmação. Portanto, até que as alterações sejam confirmadas nas tabelas de origem, a data padrão será exibida (por exemplo, 1970-01-01).
|
[header__] |
caractere |
O nome da partição criada no destino quando Alterar particionamento de dados está habilitado. O nome da partição consiste na hora de início e término da partição. Exemplo: 20170313T123000_20170313T170000 |