Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Unity Catalog unterstützt drei primäre Tabellentypen: verwaltete, externe und fremdtabellen. Jeder Typ unterscheidet sich darin, wie Daten gespeichert, verwaltet und gesteuert werden.
Verwaltete Tabellen
Verwaltete Tabellen sind der Standard- und empfohlener Tabellentyp. Unity Catalog verwaltet den Datenlebenszyklus, den Speicherort und die Optimierungen. Wenn Sie eine verwaltete Tabelle ablegen, werden sowohl die Metadaten als auch die zugrunde liegenden Datendateien gelöscht.
Verwaltete Tabellen werden von Delta Lake oder Apache Iceberg unterstützt und bieten Folgendes:
- Automatische Optimierung für reduzierte Speicher- und Berechnungskosten
- Schnellere Abfrageleistung für alle Clienttypen
- Automatische Tabellenwartung
- Sicherer Zugriff für Nicht-Databricks-Clients über offene APIs
- Automatische Upgrades auf die neuesten Plattformfeatures
Datendateien werden im Schema oder Katalog gespeichert, das die Tabelle enthält. Siehe von Unity Catalog verwaltete Tabellen in Azure Databricks für Delta Lake und Apache Iceberg.
Externe Tabellen
Externe Tabellen verweisen auf Daten, die im von Ihnen verwalteten Cloudobjektspeicher gespeichert sind. Unity Catalog steuert den Datenzugriff, verwaltet jedoch nicht den Datenlebenszyklus, Optimierungen oder das Speicherlayout. Wenn Sie eine externe Tabelle ablegen, werden nur die Katalogmetadaten entfernt, und die zugrunde liegenden Datendateien bleiben erhalten.
Externe Tabellen des Unity-Katalogs unterstützen die Formate Delta Lake, CSV, JSON, AVRO, LAMINAT, ORC und TEXT. Databricks empfiehlt, das Delta Lake-Format zu verwenden, da es transaktionsbedingte Garantien und Leistungsoptimierungen aufweist, die die anderen Formate nicht verwenden.
Verwenden Sie externe Tabellen, wenn Sie Folgendes benötigen:
- Registrieren vorhandener Daten, die nicht mit verwalteten Tabellen im Unity-Katalog kompatibel sind
- Ermöglichen des direkten Datenzugriffs für Nicht-Databricks-Clients, die keine anderen externen Zugriffsmuster unterstützen.
Weitere Informationen finden Sie unter Arbeiten mit externen Tabellen.
Fremdtabellen
Fremdtabellen (auch als Verbundtabellen bezeichnet) sind schreibgeschützte Tabellen, die von einem fremdkatalog verwaltet werden, der im Unity-Katalog registriert ist. Externe Systeme verwalten die Daten und Metadaten, während Unity Catalog eine Datenverwaltung zur Abfrage hinzufügt.
Azure Databricks unterstützt zwei Methoden zum Registrieren fremder Tabellen:
- Query Federation: Verwendet sichere Datenbankverbindungen zu externen Datensystemen wie PostgreSQL und MySQL
- Katalogverbund: Verbindet externe Kataloge mit Abfragen von Daten direkt im Dateispeicher
Fremdtabellen, die das Delta Lake-Format verwenden, fehlen viele Optimierungen, die in verwalteten Tabellen im Unity-Katalog verfügbar sind. Migrieren Sie für Produktionsworkloads oder häufig abgefragte Datasets zu verwalteten Tabellen im Unity-Katalog, um eine bessere Leistung zu erzielen. Siehe "Arbeiten mit Fremdtabellen".
Vergleich von Tabellentypen
In der folgenden Tabelle werden die drei Tabellentypen verglichen:
| Funktion | Verwaltete Tabellen | Externe Tabellen | Fremdtabellen |
|---|---|---|---|
| Datenlebenszyklusverwaltung | Unity-Katalog verwaltet | Sie verwalten | Das externe System verwaltet |
| Speicherort | Unity-Katalog verwaltet | Sie legen fest | Das externe System verwaltet |
| Automatische Optimierungen | Yes | Limited | No |
| Unterstützte Formate | Delta Lake, Apache Iceberg | Delta Lake (empfohlen), CSV, JSON, AVRO, PARKETT, ORC, TEXT | Hängt vom externen System ab |
Daten gelöscht am DROP TABLE |
Yes | No | No |
| Am besten geeignet für: | Produktionsworkloads, häufig abgefragte Daten | Legacy-Integrationen, vorhandene Daten | Migration von externen Systemen, temporärer Zugriff |
Andere Tabellentypen
Azure Databricks unterstützt auch spezielle Tabellentypen für bestimmte Anwendungsfälle:
- Streamingtabellen: Lakeflow Spark Declarative Pipelines-Datensätze, unterstützt von Delta Lake mit inkrementeller Verarbeitungslogik
- Materialisierte Ansichten: Lakeflow Spark Declarative Pipelines-Datasets, die von Delta Lake unterstützt werden, die Abfrageergebnisse mit verwalteter Flusslogik materialisieren
Ältere Tabellentypen
Die folgenden Legacytabellentypen werden aus Gründen der Abwärtskompatibilität unterstützt, werden jedoch nicht für die neue Entwicklung empfohlen.
Hive-Tabellen
Strukturtabellen werden vom älteren Hive-Metastore verwaltet und verwenden Legacymuster, einschließlich Hive SerDe-Codecs und hive SQL-Syntax. Standardmäßig werden tabellen, die mit dem legacy-Hive-Metastore registriert sind, Daten im älteren DBFS-Stamm speichern.
Databricks empfiehlt, alle Tabellen aus dem älteren HMS-Katalog zu Unity-Katalog zu migrieren. Weiter Informationen finden Sie unter Datenbankobjekte im Legacy-Hive-Metastore.
Sie können optional einen Hive-Metaspeicher mit dem Unity-Katalog verbinden und auf die Tabellen als Fremdtabellen im Unity-Katalog zugreifen. Siehe Hive-Metastore-Föderation: Aktivieren Sie den Unity-Katalog, um Tabellen zu verwalten, die in einem Hive-Metaspeicher registriert sind.
Apache Spark unterstützt das Registrieren und Abfragen von Hive-Tabellen, aber Hive SerDe-Codecs sind für Azure Databricks nicht optimiert. Registrieren Sie Strukturtabellen nur, wenn Sie Abfragen zu Daten unterstützen müssen, die von externen Systemen geschrieben wurden. Siehe Hive-Tabelle (Legacy).
Livetabellen
Der Begriff "Livetabellen " bezieht sich auf eine frühere Implementierung von Funktionen, die jetzt als materialisierte Ansichten verfügbar sind. Aktualisieren Sie Legacy-Code, der auf Live-Tabellen verweist, um die Syntax für materialisierte Ansichten zu verwenden. Siehe Lakeflow Spark Declarative Pipelines und Materialized views.