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.
Azure Databricks unterstützt drei primäre Tabellentypen (verwaltet, extern und fremd) und zwei offene Speicherformate (Delta Lake und Apache Iceberg). Wenn Sie die richtige Kombination auswählen, wird bestimmt, wie Daten gespeichert, geregelt und optimiert werden.
Eine Azure Databricks-Tabelle befindet sich in einem Schema und enthält Datenzeilen. Der in Azure Databricks erstellte Standardtabellentyp ist eine verwaltete Unity-Katalogtabelle.
Speicherformate
Speicherformate definieren, wie Daten physisch strukturiert und im Objektspeicher nachverfolgt werden.
Azure Databricks unterstützt zwei primäre Speicherformate für offene Tabellen:
- Delta Lake ist das Standardspeicherformat für verwaltete und externe Tabellen in Azure Databricks. Delta wird auch für ausländische Tabellen unterstützt.
- Apache Iceberg wird für verwaltete und fremde Tabellen in Azure Databricks unterstützt. Dieses Format ist nützlich, wenn Sie sich in das Iceberg-Ökosystem integrieren.
Beide Formate fügen eine transaktionale Speicherebene hinzu, die Metadaten nachverfolgt und ACID-Konformität (Atomicity, Consistency, Isolation, and Durability), Time Travel und andere Features unterstützt.
Tabellentypen
Tabellentypen in Azure Databricks definieren, wem Daten gehören und wie auf sie zugegriffen wird.
Azure Databricks unterstützt drei primäre Tabellentypen. Tabellentypen werden durch den Katalog bestimmt, der die zugrunde liegenden Datendateien besitzt und verwaltet, wie in der folgenden Tabelle beschrieben:
| Tabellentyp | Verwalten des Katalogs | Lese-/Schreibunterstützung | Leistungsoptimierung | Optimierung der Speicherkosten |
|---|---|---|---|---|
| Verwaltet | Unity-Katalog | Yes | Yes | Yes |
| Temporär | Keine (sitzungsgebundene verwaltete Tabelle) | Yes | Yes | Yes |
| Äußerlich | Keine (nur Dateien) | Yes | Nur manuell | Nur manuell |
| foreign | Ein externer System- oder Katalogdienst | Schreibgeschützt | Nein | Nein |
Informationen zum Auswählen des richtigen Tabellentyps für Ihren Anwendungsfall finden Sie unter Auswählen eines Tabellentyps.
Verwaltete Tabellen
Bei verwalteten Tabellen verwaltet Unity Catalog sowohl die Datendateien als auch die Tabellenmetadaten. Die Datendateien werden im verwalteten Speicherort des Unity-Katalogs im Cloudspeicher gespeichert. Verwaltete Tabellen im Unity-Katalog sind die Standardtabellen, wenn Sie Tabellen in Azure Databricks erstellen.
Databricks empfiehlt, verwaltete Tabellen immer dann zu verwenden, wenn Sie eine neue Tabelle erstellen. Verwaltete Tabellen implementieren automatisch Leistungsverbesserungen, reduzieren Speicher- und Computekosten und ermöglichen den Zugriff auf externe Systeme, z. B. Trino. Siehe verwaltete Tabellen.
Das folgende Beispiel zeigt eine verwaltete Tabelle mit dem Namen prod.people_ops_employees Daten zu fünf Mitarbeitern:
Externe Tabellen
Externe Tabellen, manchmal auch als nicht verwaltete Tabellen bezeichnet, Referenzdaten, die in einem externen Speichersystem gespeichert sind, z. B. Cloudobjektspeicher. Azure Databricks registriert die Tabellenmetadaten, verwaltet jedoch nicht die zugrunde liegenden Datendateien. Unity Catalog unterstützt externe Tabellen in mehreren Formaten, einschließlich Delta Lake, mit denen Sie sie mit externen Systemen lesen können. Siehe externe Tabellen.
Fremdtabellen
Fremdtabellen stellen Daten dar, die in externen Systemen gespeichert sind, die mit Azure Databricks über lakehouse Federation verbunden sind. Fremdtabellen sind in Azure Databricks schreibgeschützt. Siehe Fremdtabellen.
Temporäre Tabellen
Temporäre Tabellen sind sitzungsbezogene Tabellen, in denen Daten für die Dauer einer Azure Databricks-Sitzung gespeichert werden. Sie sind nützlich, um Zwischenergebnisse zu materialisieren, ohne permanente Tabellen in Ihrem Katalog zu erstellen. Azure Databricks legt temporäre Tabellen automatisch ab, wenn die Sitzung endet, und Sie benötigen keine Katalog- oder Schemaberechtigungen, um sie zu erstellen. Siehe Temporäre Tabellen in Databricks SQL und Databricks Runtime.
Auswählen eines Tabellentyps
Verwenden Sie verwaltete Tabellen für die meisten neuen Tabellen. Azure Databricks automatisiert Optimierung, Speicherlebenszyklusverwaltung und externen Zugriff.
Verwenden Sie externe Tabellen in folgenden Fällen:
- Sie müssen vorhandene Daten im Cloudspeicher registrieren, ohne sie zu verschieben.
- Sie benötigen direkten pfadbasierten Zugriff von Nicht-Azure-Databricks-Clients.
- Sie arbeiten mit Dateiformaten, die von verwalteten Tabellen wie CSV oder JSON nicht unterstützt werden.
- Das Ablegen der Tabelle sollte die zugrunde liegenden Datendateien nicht löschen.
Verwenden Sie Fremdtabellen, wenn Sie schreibgeschützten Zugriff auf Daten in einem externen System benötigen, das über Lakehouse Federation verbunden ist, z. B. einen Hive-Metastore oder AWS-Glue-Katalog.
Für das Speicherformat ist Delta Lake die Standardeinstellung und wird für die meisten Workloads empfohlen. Verwenden Sie Apache Iceberg bei der Integration in externe Systeme, die das Iceberg-Format erfordern.
Tabellen im Unity-Katalog
In Unity Catalog befinden sich Tabellen auf der dritten Ebene des dreistufigen Namespace (catalog.schema.table), wie im folgenden Diagramm dargestellt:
Grundlegende Tabellenberechtigungen
Die meisten Tabellenvorgänge erfordern USE CATALOG und USE SCHEMA Berechtigungen für den Katalog und das Schema, das eine Tabelle enthält.
In der folgenden Tabelle sind die zusätzlichen Berechtigungen zusammengefasst, die für allgemeine Tabellenvorgänge im Unity-Katalog erforderlich sind:
| Operation | Erlaubnisse |
|---|---|
| Erstellen einer Tabelle |
CREATE TABLE für das enthaltende Schema |
| Eine Tabelle abfragen |
SELECT auf der Tabelle |
| Aktualisieren, Löschen, Zusammenführen oder Einfügen von Daten in eine Tabelle |
SELECT und MODIFY für die Tabelle |
| Tabelle löschen |
MANAGE auf der Tabelle |
| Ersetzen einer Tabelle |
MANAGE auf der Tabelle, CREATE TABLE auf dem enthaltenden Schema |
Eine SQL-Syntaxreferenz für diese Vorgänge finden Sie unter:
Weitere Informationen zu Unity-Katalogberechtigungen finden Sie unter Verwalten von Berechtigungen im Unity-Katalog.