Abfragebasierte Connectorreferenz

Diese Seite enthält Referenzdokumentation für abfragebasierte Connectors in Lakeflow Connect, einschließlich Konfigurationsparametern, Cursorspaltenanforderungen, Syntax der Löschnachverfolgung und Fehlerbedingungen.

Pipelinekonfiguration

Die folgenden Parameter werden für abfragebasierte Connectors unterstützt. Legen Sie diese Werte im ingestion_definition Block Der Pipelinekonfiguration fest.

Parameter Typ Erforderlich Beschreibung
connection_name Schnur Erforderlich für fremdverbindungsingestion Der Name der Verbindung, die Authentifizierungsanmeldeinformationen für die Quelldatenbank speichert. Ist ingest_from_uc_foreign_catalog dies trueder Wert , geben Sie nicht an connection_name.
ingest_from_uc_foreign_catalog boolean Erforderlich für die Aufnahme fremder Kataloge Legen Sie fest, dass true sie aus einem fremden Katalog aufgenommen werden soll, der von lakehouse Federation unterstützt wird. Wenn true, geben Sie nicht an connection_name.
source_catalog Schnur Ja Der Katalog im Quellsystem (oder der Fremdkatalogname, falls ingest_from_uc_foreign_catalog vorhanden true).
source_schema Schnur Ja Das Schema im Quellsystem, aus dem aufgenommen werden soll.
source_table Schnur Erforderlich für Objekte auf Tabellenebene Die Tabelle im Quellschema, die aufgenommen werden soll.
cursor_column Schnur Erforderlich für fremdverbindungsingestion Der Name der Cursorspalte, die für die inkrementelle Nachverfolgung verwendet werden soll. Muss eine monoton ansteigende Spalte sein. Siehe Cursorspaltenanforderungen.
cursor_columns Eine Liste von Zeichenfolgen Erforderlich für die Aufnahme fremder Kataloge Eine Liste mit dem Cursorspaltennamen. Es wird nur eine Spalte unterstützt.
primary_keys Eine Liste von Zeichenfolgen Erforderlich, es sei denn, der Verlaufsverfolgungsmodus (SCD) ist APPEND_ONLY (Fremdkatalogaufnahme) Die Primärschlüsselspalten, die zum Identifizieren von Zeilen für Zusammenführungsvorgänge verwendet werden. Erforderlich für SCD_TYPE_1 und SCD_TYPE_2 Modi.
deletion_condition Schnur No Ein SQL-Ausdruck, der für Zeilen ausgewertet wird true , die weiche Löschungen darstellen. Nur mithilfe der API konfigurierbar. Siehe Löschbedingung.
hard_deletion_sync_min_interval_in_seconds Integer No Das mindeste Intervall in Sekunden zwischen den Momentaufnahmen des Primärschlüssels zum Erkennen von endgültigen Löschungen. Wenn sie nicht festgelegt ist, ist die Nachverfolgung des endgültigen Löschens deaktiviert. Dieser Parameter wird in diesem Fall scd_typeSCD_TYPE_2nicht unterstützt. Sie kann nur mithilfe der API (Beta) konfiguriert werden. Weitere Informationen finden Sie unter "Nachverfolgung des endgültigen Löschens".
scd_type Schnur No Der Verlaufsverfolgungsmodus (History Tracking, SCD) für die Zieltabelle. Unterstützte Werte: SCD_TYPE_1 (Standard), SCD_TYPE_2, APPEND_ONLY.
destination_catalog Schnur Ja Der Katalog, in den die Zieltabelle geschrieben werden soll.
destination_schema Schnur Ja Das Schema, in das die Zieltabelle geschrieben werden soll.
destination_table Schnur No Der Name der Zieltabelle Wenn nicht angegeben, wird standardmäßig der Quelltabellenname angegeben. Siehe Name einer Zieltabelle.

Anforderungen für Cursorspalten

Die Cursorspalte verfolgt den inkrementellen Fortschritt zwischen Pipelineläufen. Der Connector speichert den maximalen Cursorwert nach jeder erfolgreichen Ausführung und verwendet ihn als untere Begrenzungsfilter für die nächste Ausführung.

Anforderungen:

  • Sie müssen eine einzelne Cursorspalte angeben. Sie können nicht mehrere Spalten als zusammengesetzten Cursor angeben. Wenn Sie mehrere angeben, schlägt die Pipeline mit INVALID_CURSOR_COLUMNS.
  • Die Cursorspalte muss monoton vergrößert werden. Werte dürfen nie verkleinert werden. Zeilen mit Cursorwerten an oder unterhalb der gespeicherten Wassermarke werden bei nachfolgenden Läufen nicht wieder aufgenommen.
  • Zeilen mit einer NULL-Cursorspalte werden nicht aufgenommen.

Unterstützte Spaltentypen:

  • Zeitstempel oder Datumstypen (empfohlen)
  • Numerische Typen (ganze Zahl, lange ganze Zahl, Dezimalzahl und Double)
  • Binäre Typen (codiert als Binäre Zahlen)
  • Zeichenfolgentypen

Löschbedingung

Mit dem deletion_condition Parameter können abfragebasierte Connectors weiche Löschungen erkennen. Dieses Feature kann nur mithilfe der API konfiguriert werden.

Der Wert ist ein SQL-Ausdruck, der für Zeilen ausgewertet true wird, die in der Zieltabelle als gelöscht behandelt werden sollen. Der Connector wertet diesen Ausdruck während jeder Pipelineausführung aus.

Syntax:

"deletion_condition": "<sql-expression>"

Beispiele:

"deletion_condition": "deleted_at IS NOT NULL"
"deletion_condition": "is_deleted = 1"
"deletion_condition": "status = 'DELETED'"

Wenn eine Zeile dem deletion_conditionentspricht, entfernt der Verbinder die entsprechende Zeile aus der Zieltabelle (für SCD_TYPE_1) oder markiert sie als gelöscht (für SCD_TYPE_2).

Nachverfolgung des endgültigen Löschens

Der hard_deletion_sync_min_interval_in_seconds Parameter ermöglicht abfragebasierte Connectors die Erkennung von endgültigen Löschungen – Zeilen, die physisch aus der Quelltabelle entfernt wurden. Dieses Feature befindet sich in Der Betaversion und kann nur mithilfe der API konfiguriert werden.

Die Nachverfolgung des endgültigen Löschens funktioniert, indem regelmäßig eine Momentaufnahme der Primärschlüssel in der Quelltabelle erstellt und mit der Zieltabelle verglichen wird. Zeilen, die im Ziel vorhanden sind, aber nicht in der Quellmomentaufnahme vorhanden sind, werden als gelöscht behandelt.

Der Wert legt das Mindestintervall in Sekunden zwischen Momentaufnahmen fest. Dieser Wert fungiert als untere Grenze: Wenn die Pipeline weniger häufig ausgeführt wird als dieses Intervall, richtet sich die Synchronisierung der endgültigen Löschung an der tatsächlichen Aufnahmehäufigkeit, anstatt häufiger auszuführen. Durch das Aktualisieren dieses Parameters wird keine vollständige Momentaufnahme ausgelöst.

Hinweis

Für die Nachverfolgung von endgültigen Löschungen muss primary_keys die Tabelle konfiguriert werden. Es wird nicht unterstützt, wenn scd_type dies der Wert ist SCD_TYPE_2.

Syntax:

"hard_deletion_sync_min_interval_in_seconds": <integer>

Beispiel:

"hard_deletion_sync_min_interval_in_seconds": 86400

In diesem Beispiel wird ein Hard-Delete-Scan nicht mehr als einmal alle 24 Stunden (86400 Sekunden) ausgelöst.

Fehlerbedingungen

Der häufigste Fehler ist INVALID_CURSOR_COLUMNS. Dies tritt auf, wenn die Cursorspalte nicht ordnungsgemäß konfiguriert ist. Informationen zur Problembehandlung finden Sie unter "Ungültige Cursorspalten ".