criar_auto_cdc_flow
A função create_auto_cdc_flow()
cria um fluxo que usa a funcionalidade LakeFlow Declarative pipeline capture de dados de alterações (CDC) (CDC) para processar dados de origem de um feed de dados de alterações (CDF).
Essa função substitui a função anterior apply_changes()
. As duas funções têm a mesma assinatura. A Databricks recomenda a atualização para usar o novo nome.
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 create_auto_cdc_flow()
, 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 LakeFlow Declarative pipeline Python.
Sintaxe
import dlt
dlt.create_auto_cdc_flow(
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 create_auto_cdc_flow
, 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 de CDC com um feed de alterações, consulte O AUTO CDC APIs: Simplifique a captura de dados de alterações (CDC) com o pipeline declarativo LakeFlow. Para obter um exemplo de uso da função create_auto_cdc_flow()
, 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. LakeFlow O pipeline declarativo usa esse sequenciamento para lidar com eventos de alteração 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 |