Freigeben über


Konzepte von Azure Databricks-Tabellen

Eine Azure Databricks-Tabelle befindet sich in einem Schema und enthält Datenzeilen. Der in Azure Databricks erstellte Standardtabellentyp ist eine verwaltete Unity-Katalogtabelle.

Das folgende Beispiel zeigt eine verwaltete Tabelle mit dem Namen prod.people_ops_employees Daten zu fünf Mitarbeitern. Als verwaltete Tabelle werden die Datendateien im verwalteten Speicherort des Unity-Katalogs im Cloudspeicher gespeichert.

Beispieltabelle mit Mitarbeiterdaten

Speicherformate

Tabellentypen in Azure Databricks definieren, wie Daten im Besitz sind und auf die zugegriffen wird. Separat definiert das Speicherformat, wie die Daten physisch strukturiert und auf dem Datenträger 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.
  • 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.

Diese Formate fügen eine Transaktionsspeicherebene hinzu, die Metadaten nachverfolgt und die Einhaltung von Atomität, Konsistenz, Isolation und Haltbarkeit (ACID), Zeitreisen und anderen Features ermöglicht.

Tabellentypen

Azure Databricks bietet drei primäre Tabellentypen, die jeweils für unterschiedliche Datenverwaltungsszenarien und Besitzermodelle entwickelt wurden. Die Auswahl des Tabellentyps bestimmt, wie Azure Databricks die zugrunde liegenden Datendateien und -metadaten verwaltet.

Der primäre Unterscheidungstyp für Tabellentypen in Azure Databricks ist der besitzereigene Katalog, wie in der folgenden Tabelle beschrieben:

Tabellentyp Verwalten des Katalogs Lese-/Schreibunterstützung Leistungsoptimierung Optimierung der Speicherkosten
Verwaltet Unity-Katalog Yes Yes Yes
External Keine (nur Dateien) Yes Nur manuell Nur manuell
Ausländisch Ein externer System- oder Katalogdienst Schreibgeschützt Nein Nein

Verwaltete Tabellen

Verwaltete Tabellen verwalten zugrunde liegende Datendateien zusammen mit der Metastoreregistrierung. Databricks empfiehlt, verwaltete Tabellen immer dann zu verwenden, wenn Sie eine neue Tabelle erstellen. Verwaltete Tabellen im Unity-Katalog sind die Standardtabellen, wenn Sie Tabellen in Azure Databricks erstellen. Siehe verwaltete Tabellen.

Externe Tabellen

Externe Tabellen, die manchmal als nicht verwaltete Tabellen bezeichnet werden, verweisen auf Daten, die außerhalb von Databricks in einem externen Speichersystem gespeichert sind, z. B. Cloudobjektspeicher. Sie entkoppeln die Verwaltung der zugrunde liegenden Datendateien von der Metastoreregistrierung. Unity Catalog unterstützt externe Tabellen in verschiedenen Formaten, einschließlich Delta Lake. Externe Tabellen im Unity-Katalog können Datendateien mit gängigen Formaten speichern, die von externen Systemen lesbar sind. 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.

Tabellen im Unity-Katalog

Im Unity-Katalog befinden sich Tabellen auf der dritten Ebene des Namespaces mit drei Ebenen (catalog.schema.table), wie im folgenden Diagramm dargestellt:

Unity Catalog-Objektmodelldiagramm, das sich auf die Tabelle konzentriert

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 auf dem enthaltenden Schema
Abfragen einer Tabelle SELECT auf der Tabelle
Aktualisieren, Löschen, Zusammenführen oder Einfügen von Daten in eine Tabelle SELECT und MODIFY auf der Tabelle
Ablegen einer Tabelle MANAGE auf der Tabelle
Ersetzen einer Tabelle MANAGE auf der Tabelle, CREATE TABLE auf dem enthaltenden Schema

Weitere Informationen zu Unity-Katalogberechtigungen finden Sie unter Verwalten von Berechtigungen im Unity-Katalog.