Freigeben über


Arbeiten mit Fremdtabellen

Fremdtabellen, die manchmal als Verbundtabellen bezeichnet werden, sind Tabellen, die mithilfe des Unity-Katalogs als Teil eines fremden Katalogs registriert sind. Fremdtabellen enthalten Daten und Metadaten, die von externen Systemen verwaltet werden, und Unity Catalog fügt Datengovernance hinzu, um diese Tabellen abzufragen.

Azure Databricks unterstützt die folgenden Methoden zum Registrieren fremder Tabellen:

  • Abfrageverbund verwendet sichere JDBC-Verbindungen, um mit externen Datensystemen wie PostgreSQL und MySQL zu federieren.
  • Der Katalogverbund verbindet externe Kataloge, z. B. einen Hive-Metastore oder snowflake Horizon-Katalog, um Daten direkt im Dateispeicher abzufragen.

Important

Aus Gründen der Abwärtskompatibilität mit älteren Apache Spark- und Azure Databricks-Workloads geben Fremdtabellen in einem Hive-Metaspeicher Metadaten aus dem Hive-Metaspeicher zurück, einschließlich der Angabe, ob es sich bei der Tabelle um eine verwaltete Hive-Tabelle oder eine externe Strukturtabelle handelt.

Warum eine Fremdtabelle verwenden?

Fremdtabellen bieten Flexibilität bei der Integration von Azure Databricks in vorhandene Datensysteme oder die Migration von älteren Systemen.

Viele fremdtabellen dienen als temporäre Lösung für den direkten Zugriff auf Daten, die nicht von Azure Databricks verwaltet werden, da sie eine schnelle Lösung bereitstellen, ohne dass Datenmigration oder Codeumgestaltung für upstream-ETL-Workflows erforderlich ist. Databricks empfiehlt die Migration von Datasets, die Produktionsworkloads fördern oder häufig zu verwalteten Tabellen im Unity-Katalog abgefragt werden, da verwaltete Tabellen die beste Leistung bieten und viele integrierte Optimierungen aufweisen. Siehe Konvertieren einer Fremdtabelle in eine verwaltete Unity-Katalogtabelle.

Der Abfrageverbund bietet eine kostenlose Lösung zum Laden von Daten aus externen Datensystemen, die von Lakeflow Connect nicht unterstützt werden. Databricks empfiehlt die Verwendung materialisierter Ansichten, um Fremdtabellen in den Unity-Katalog zu replizieren. Siehe Laden von Daten aus Fremdtabellen mit materialisierten Ansichten.

Erstellen oder Schreiben in Fremdtabellen

Wenn Sie über ausreichende Berechtigungen verfügen und Ihr Arbeitsbereich mit einem internen federierten Hive Metastore konfiguriert wurde, können Sie Fremdtabellen erstellen oder auf diese schreiben, die von einem internen federierten Hive Metastore unterstützt werden. Der Metaspeicher für externe Verbundstruktur und alle fremden Tabellen, die von Lakehouse Federation unterstützt werden, sind schreibgeschützt.

Azure Databricks verwaltet die Metadaten, Daten oder Semantik nicht für Schreibvorgänge in Fremdtabellen. Fremdtabellen können durch ein ACID-kompatibles Format wie Delta Lake oder Apache Iceberg unterstützt werden, ausländische Tabellen bieten jedoch keine transaktionsbasierten Garantien für verwaltete Tabellen im Unity-Katalog.

Die meisten Azure Databricks-Optimierungen für Abfrageleistung, verbesserte Schreibgeschwindigkeit, Datensprung und nur Metadatenabfragen erfordern Unity-Katalog. Databricks empfiehlt, die Lese- und Schreibabfrageleistung zwischen fremdtabellen und verwalteten Tabellen im Unity-Katalog mithilfe der neuesten Databricks-Runtime-Version zu vergleichen, um Latenz- und Kostenunterschiede auszuwerten. Siehe verwaltete Tabellen im Unity-Katalog in Azure Databricks für Delta Lake und Apache Iceberg.