Freigeben über


Abfragebasierte Konnektoren

Von Bedeutung

Dieses Feature befindet sich in der Public Preview.

Abfragebasierte Konnektoren in Lakeflow Connect erfassen Daten aus Datenbanken, indem sie die Quelle direkt abfragen, ohne dass die Konfiguration für Change Data Capture (CDC) erforderlich ist. Anstatt sich auf Binlogs oder CDC-Infrastruktur zu verlassen, verwenden sie eine Cursorspalte , eine monoton zunehmende Zeitstempel- oder ganzzahlige Spalte, um nachzuverfolgen, welche Zeilen seit der letzten Pipelineausführung neu oder aktualisiert werden.

Abfragebasierte Connectors verwenden Unity-Katalogverbindungen und Lakehouse-Verbund, um eine Verbindung mit Quelldatenbanken herzustellen, und sie schreiben Ergebnisse in Streamingtabellen.

So funktioniert es

Bei jeder Pipelineausführung fragt ein abfragebasierter Connector die Quelldatenbank ab und ruft alle Zeilen mit einem Cursorspaltenwert ab, der größer als der wert ist, der aus der vorherigen Ausführung aufgezeichnet wurde. Nach jeder erfolgreichen Ausführung speichert der Verbinder den Höchststand der Cursorspalte und verwendet ihn als untere Grenze für die nächste Ausführung.

Da der Connector die Quelle direkt abfragt, ist kein Aufnahme-Gateway oder ein Staging-Volume erforderlich. Die Pipeline wird in einem von Ihnen definierten Zeitplan ausgeführt, nicht kontinuierlich.

Abfragebasierte Konnektoren im Vergleich zu CDC-Datenbankkonnektoren

Abfragebasierte Konnektoren unterscheiden sich folgendermaßen von CDC-Datenbankkonnektoren:

  • Kein Aufnahmegateway: CDC-Connectoren erfordern ein Gateway zum Erfassen von Binlog-Ereignissen. Abfragebasierte Connectors verwenden kein Gateway.
  • Kein Stagingvolume: CDC-Connectoren puffern extrahierte Daten in einem Staging-Volume. Abfragebasierte Konnektoren schreiben direkt von der Quellabfrage in die Zieltabelle.
  • Geplant statt fortlaufend: Abfragebasierte Connectors werden in einem Zeitplan ausgeführt. Sie erfassen nicht jeden Zwischenzeilenzustand zwischen den Läufen. Sie erfassen nur den neuesten Status der Zeilen, die geändert wurden.
  • Umfassendere Quellkompatibilität: Jede Datenbank mit einer geeigneten Cursorspalte ist eine gültige Quelle, auch wenn sie CDC- oder Binlogzugriff nicht unterstützt.

Der Kompromiss besteht darin, dass die Abfrageleistung langsamer sein kann und Abfragen direkt in Quelltabellen ausgeführt werden können, was im Vergleich zu CDC-Connectors, die den Binlog abfragen, mehr Last auf die Quelldatenbank legen kann. Die Nachverfolgung der Soft-Löschung wird mithilfe von deletion_condition unterstützt. Die Nachverfolgung des endgültigen Löschens wird auch in der Betaversion unterstützt. Beide erfordern eine API-Konfiguration.

Unterstützte Aufnahmeansätze

Abfragebasierte Verbinder unterstützen mehrere Aufnahmeansätze. Der verwendete Ansatz bestimmt, welche Konfigurationsparameter erforderlich sind.

Vorgehensweise Wie es eine Verbindung herstellt Erforderliche Parameter
Eingabe von Fremdverbindungen Verwendet eine Verbindung, die Authentifizierungsanmeldeinformationen für die Quelldatenbank speichert. Der Connector verwendet die Verbindung, um die Quelldatenbank direkt abzufragen. connection_name, , source_catalogsource_schema, , source_tablecursor_column
Aufnahme fremder Kataloge Verwendet einen Fremdkatalog, der von einer Lakehouse Federation-Datenquelle unterstützt wird. Der Connector verwendet den fremden Katalog, um Quelldaten zu lesen, anstatt eine direkte Verbindung mit der Quelldatenbank herzustellen. ingest_from_uc_foreign_catalog: true, cursor_columns(erforderlich, primary_keys es sei denn, Sie verwenden APPEND_ONLY den Modus)

Unterstützte Quellen

Die folgenden Datenbankquellen werden unterstützt.

Einspeisequellen für ausländische Verbindungen:

  • Orakel
  • Teradata
  • SQL Server
  • MySQL
  • MariaDB
  • PostgreSQL

Quellen für die Aufnahme fremder Kataloge:

Alle Lakehouse-Verbunddatenquellen werden durch die Eingliederung ausländischer Kataloge unterstützt. Die vollständige Liste finden Sie unter Lakehouse Federation.

Unterstützte Schnittstellen

Sie können die Azure Databricks UI oder deklarative Automatisierungsbündel verwenden, um abfragebasierte Pipelines zu erstellen.

Computeanforderungen

Abfragebasierte Erfassungspipelinen werden standardmäßig auf serverlosem Compute ausgeführt. Die klassische Berechnung wird in Der Betaversion unterstützt, aber nur mithilfe von APIs. Databricks empfiehlt die Verwendung der serverlosen Berechnung.

Um abfragebasierte Connectors mit serverloser Berechnung zu verwenden, muss Ihre Computeumgebung die Netzwerkkonnektivität mit der Quelldatenbank zulassen. Siehe Netzwerk- und Netzwerkempfehlungen für Lakehouse Federation.

Verlaufsverfolgungsmodi (SCD)

Abfragebasierte Connectors unterstützen für Zieltabellen die folgenden Geschichtstracking-Modi – auch bekannt als Modi für langsam ändernde Dimensionen (SCD):

  • SCD_TYPE_1: Überschreibt die vorhandene Zeile in der Zieltabelle mit der neuesten Quellzeile. Es wird kein Verlauf gespeichert.
  • SCD_TYPE_2: Behält den vollständigen Verlauf von Zeilenänderungen bei, indem neue Zeilen mit Versionsmetadaten hinzugefügt werden. Siehe "Verlaufsverfolgung aktivieren" (SCD-Typ 2).
  • APPEND_ONLY: Jede aufgenommene Zeile wird an die Zieltabelle angefügt, ohne dass dabei Zusammenführungen oder Überschreibungen erfolgen.

Schemaentwicklung

Abfragebasierte Connectors behandeln die Schemaentwicklung genauso wie andere verwaltete Connectors in Lakeflow Connect. Erfahren Sie , wie verwaltete Connectors mit der Schemaevolution umgehen?.