Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa pagina contiene la documentazione di riferimento per i connettori basati su query in Lakeflow Connect, inclusi i parametri di configurazione, i requisiti delle colonne di cursore, la sintassi di rilevamento dell'eliminazione e le condizioni di errore.
Configurazione della pipeline
I parametri seguenti sono supportati per i connettori basati su query. Impostare questi valori nel ingestion_definition blocco della configurazione della pipeline.
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
connection_name |
corda | Obbligatorio per l'inserimento di connessioni esterne | Nome della connessione in cui sono archiviate le credenziali di autenticazione per il database di origine. Se ingest_from_uc_foreign_catalog è true, non specificare connection_name. |
ingest_from_uc_foreign_catalog |
boolean | Obbligatorio per l'inserimento di cataloghi stranieri | Impostare su per true inserire da un catalogo esterno supportato da Lakehouse Federation. Se true, non specificare connection_name. |
source_catalog |
corda | Sì | Catalogo nel sistema di origine (o il nome del catalogo esterno se ingest_from_uc_foreign_catalog è true). |
source_schema |
corda | Sì | Schema nel sistema di origine da cui inserire. |
source_table |
corda | Obbligatorio per gli oggetti a livello di tabella | Tabella nello schema di origine da inserire. |
cursor_column |
corda | Obbligatorio per l'inserimento di connessioni esterne | Nome della colonna del cursore da utilizzare per il rilevamento incrementale. Deve essere una singola colonna che aumenta in modo monotonico. Vedere Requisiti della colonna cursore. |
cursor_columns |
Elenco di stringhe | Obbligatorio per l'inserimento di cataloghi stranieri | Elenco contenente il nome della colonna del cursore. È supportata una sola colonna. |
primary_keys |
Elenco di stringhe | Obbligatorio a meno che la modalità di rilevamento della cronologia (SCD) non sia APPEND_ONLY (inserimento del catalogo esterno) |
Colonne chiave primaria utilizzate per identificare le righe per le operazioni di unione. Obbligatorio per SCD_TYPE_1 le modalità e SCD_TYPE_2 . |
deletion_condition |
corda | No | Espressione SQL che restituisce true per le righe che rappresentano eliminazioni soft. Configurabile solo tramite l'API. Vedere Condizione di eliminazione. |
hard_deletion_sync_min_interval_in_seconds |
numero intero | No | Intervallo minimo in secondi tra le analisi dello snapshot della chiave primaria per rilevare le eliminazioni hard. Se non è impostato, il rilevamento dell'eliminazione automatica è disabilitato. Questo parametro non è supportato quando scd_type è SCD_TYPE_2. È configurabile solo tramite l'API (Beta). Vedere Rilevamento dell'eliminazione automatica. |
scd_type |
corda | No | Modalità di rilevamento della cronologia (SCD) per la tabella di destinazione. Valori supportati: SCD_TYPE_1 (impostazione predefinita), SCD_TYPE_2, APPEND_ONLY. |
destination_catalog |
corda | Sì | Catalogo in cui scrivere la tabella di destinazione. |
destination_schema |
corda | Sì | Schema in cui scrivere la tabella di destinazione. |
destination_table |
corda | No | Nome della tabella di destinazione. L'impostazione predefinita è il nome della tabella di origine, se non specificato. Vedere Assegnare un nome a una tabella di destinazione. |
Requisiti per la colonna del cursore
La colonna cursore tiene traccia dello stato di avanzamento incrementale tra le esecuzioni della pipeline. Il connettore archivia il valore massimo del cursore dopo ogni esecuzione riuscita e lo usa come filtro con limite inferiore all'esecuzione successiva.
Requisiti:
- È necessario specificare una singola colonna di cursore. Non è possibile specificare più colonne come cursore composito. Se si specificano più di uno, la pipeline ha esito negativo con
INVALID_CURSOR_COLUMNS. - La colonna del cursore deve aumentare in modo monotonico. I valori non devono mai diminuire. Le righe con valori di cursore al di sotto o al di sotto del contrassegno di acqua elevato archiviato non vengono reinserite nelle esecuzioni successive.
- Le righe con una colonna di cursore NULL non vengono inserite.
Tipi di colonna supportati:
- Timestamp o tipi di data (scelta consigliata)
- Tipi numerici (integer, long integer, decimale e double)
- Tipi binari (codificati come numeri binari)
- Tipi stringa
Condizione di eliminazione
Il deletion_condition parametro consente ai connettori basati su query di rilevare eliminazioni soft. Questa funzionalità è configurabile solo tramite l'API.
Il valore è un'espressione SQL che restituisce true per le righe che devono essere considerate eliminate nella tabella di destinazione. Il connettore valuta questa espressione durante ogni esecuzione della pipeline.
Sintassi:
"deletion_condition": "<sql-expression>"
Esempi:
"deletion_condition": "deleted_at IS NOT NULL"
"deletion_condition": "is_deleted = 1"
"deletion_condition": "status = 'DELETED'"
Quando una riga corrisponde a deletion_condition, il connettore rimuove la riga corrispondente dalla tabella di destinazione (per SCD_TYPE_1) o la contrassegna come eliminata (per SCD_TYPE_2).
Rilevamento dell'eliminazione a livello di disco rigido
Il hard_deletion_sync_min_interval_in_seconds parametro consente ai connettori basati su query di rilevare eliminazioni hard, ovvero righe che sono state rimosse fisicamente dalla tabella di origine. Questa funzionalità è in versione beta ed è configurabile solo tramite l'API.
Il rilevamento dell'eliminazione temporanea funziona periodicamente eseguendo uno snapshot delle chiavi primarie presenti nella tabella di origine e confrontandole con la tabella di destinazione. Le righe presenti nella destinazione ma assenti dallo snapshot di origine vengono considerate come eliminate.
Il valore imposta l'intervallo minimo in secondi tra le analisi snapshot. Questo valore funge da limite inferiore: se la pipeline viene eseguita meno frequentemente rispetto a questo intervallo, la sincronizzazione dell'eliminazione rigida è allineata alla frequenza di inserimento effettiva anziché più spesso in esecuzione. L'aggiornamento di questo parametro non attiva uno snapshot completo.
Annotazioni
Il rilevamento dell'eliminazione temporanea deve primary_keys essere configurato nella tabella. Non è supportato quando scd_type è SCD_TYPE_2.
Sintassi:
"hard_deletion_sync_min_interval_in_seconds": <integer>
Esempio:
"hard_deletion_sync_min_interval_in_seconds": 86400
Questo esempio attiva un'analisi di eliminazione automatica non più di una volta ogni 24 ore (86400 secondi).
Condizioni di errore
L'errore più comune è INVALID_CURSOR_COLUMNS. Ciò si verifica quando la colonna del cursore non è configurata correttamente. Per la procedura di risoluzione dei problemi, vedere Colonne di cursore non valide .