aplicar_alterações
A função apply_changes()
usa a funcionalidade DLT captura de dados de alterações (CDC) (CDC) para processar dados de origem de um feed de dados de alterações (CDF).
O senhor deve declarar uma tabela de transmissão de destino para aplicar as alterações. Opcionalmente, você pode especificar o esquema para sua tabela de destino. Ao especificar o esquema da tabela de destino apply_changes()
, você deve incluir as colunas __START_AT
e __END_AT
com o mesmo tipo de dados dos campos sequence_by
.
Para criar a tabela de destino necessária, o senhor pode usar a função create_streaming_table() na interface DLT Python.
Sintaxe
import dlt
dlt.apply_changes(
target = "<target-table>",
source = "<data-source>",
keys = ["key1", "key2", "keyN"],
sequence_by = "<sequence-column>",
ignore_null_updates = False,
apply_as_deletes = None,
apply_as_truncates = None,
column_list = None,
except_column_list = None,
stored_as_scd_type = <type>,
track_history_column_list = None,
track_history_except_column_list = None
)
Para o processamento de apply_changes
, o comportamento de default para os eventos INSERT
e UPDATE
é a inserção de eventos CDC da origem: atualize todas as linhas da tabela de destino que correspondam aos key(s) especificados ou insira uma nova linha quando não houver um registro correspondente na tabela de destino. O tratamento de eventos DELETE
pode ser especificado com o parâmetro apply_as_deletes
.
Para saber mais sobre o processamento do CDC com um feed de alterações, consulte APLICAR ALTERAÇÕES APIs: Simplifique a captura de dados de alterações (CDC) com DLT. Para obter um exemplo de uso da função apply_changes()
, consulte Exemplo: Processamento de SCD tipo 1 e SCD tipo 2 com dados de origem CDF.
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
|
| Obrigatório. O nome da tabela a ser atualizada. Você pode usar a função create_streaming_table () para criar a tabela de destino antes de executar a função |
|
| Obrigatório. A fonte de dados que contém os registros CDC. |
|
| Obrigatório. A coluna ou combinação de colunas que identifica de forma exclusiva uma linha nos dados de origem. Isso é usado para identificar quais eventos CDC se aplicam a registros específicos na tabela de destino. Você pode especificar uma das seguintes opções:
|
|
| Obrigatório. Os nomes das colunas que especificam a ordem lógica dos eventos CDC nos dados de origem. A DLT usa esse sequenciamento para lidar com eventos de mudança que chegam fora de ordem. A coluna especificada deve ser um tipo de dados classificável. Você pode especificar uma das seguintes opções:
|
|
| Permitir a ingestão de atualizações que contenham um subconjunto da coluna de destino. Quando um evento CDC corresponde a uma linha existente e O padrão é |
|
| Especifica quando um evento CDC deve ser tratado como um
Para lidar com dados fora de ordem, a linha excluída é temporariamente retida como uma lápide na tabela subjacente Delta e é criado um view no metastore que filtra essas lápides. O intervalo de retenção pode ser configurado com a propriedade de tabela |
|
| Especifica quando um evento de CDC deve ser tratado como uma tabela completa
Como essa cláusula aciona um truncamento completo da tabela de destino, ela deve ser usada somente para casos de uso específicos que exijam essa funcionalidade. O parâmetro |
|
| Um subconjunto de colunas a incluir na tabela de destino. Use
Os argumentos das funções |
|
| Se os registros devem ser armazenados como SCD tipo 1 ou SCD tipo 2. Defina como |
|
| Um subconjunto de colunas de saída a ser rastreado para o histórico na tabela de destino. Use
Os argumentos das funções |