Was ist eine Tabelle?

Eine Tabelle befindet sich in einem Schema und enthält Datenzeilen. Alle in Azure Databricks erstellten Tabellen verwenden standardmäßig Delta Lake. Tabellen, die von Delta Lake unterstützt werden, werden auch als Delta-Tabellen bezeichnet.

Eine Delta-Tabelle speichert Daten als Datenverzeichnis im Cloudobjektspeicher und registriert Tabellenmetadaten im Metaspeicher innerhalb eines Katalogs und Schemas. Alle von Unity Catalog verwalteten Tabellen sind Delta-Tabellen. Externe Tabellen in Unity Catalog können Delta-Tabellen sein, müssen dies aber nicht.

Es ist möglich, Tabellen in Databricks zu erstellen, die Delta Lake nicht verwenden. Diese Tabellen bieten keine Transaktionsgarantien und nicht die optimierte Leistung von Delta-Tabellen. Sie können die folgenden Tabellentypen mit anderen Formaten als Delta Lake erstellen:

  • Externe Tabellen.
  • Fremdtabellen.
  • Tabellen, die im Legacy-Hive-Metastore registriert sind.

In Unity Catalog befinden sich Tabellen auf der dritten Ebene des Namespace mit drei Ebenen (catalog.schema.table):

Objektmodell-Diagramm von Unity Catalog mit Fokus auf Tabellen

Tabellentypen in Azure Databricks

In Azure Databricks können Sie die folgenden Tabellentypen verwenden.

Verwaltete Tabellen

Verwaltete Tabellen verwalten zugrunde liegende Datendateien zusammen mit der Metastore-Registrierung. Databricks empfiehlt, beim erstellen neuer Tabellen verwaltete zu verwenden. Beim Erstellen von Tabellen in Azure Databricks sind von Unity Catalog verwaltete Tabellen der Standard. Sie verwenden immer Delta Lake. Weitere Informationen finden Sie unter Arbeiten mit verwaltetern Tabellen.

Externe Tabellen

Externe Tabellen, manchmal auch als nicht verwaltete Tabellenbezeichnet, entkoppeln die Verwaltung der zugrunde liegenden Datendateien von der Metastore-Registrierung. Externe Tabellen in Unity Catalog können Datendateien in gängigen Formaten speichern, die von externen Systemen lesbar sind. Weitere Informationen finden Sie unter Verwenden verwalteter Tabellen.

Delta-Tabellen

Der Begriff Delta-Tabelle wird verwendet, um sämtliche Tabellen zu beschreiben, die von Delta Lake unterstützt werden. Da Delta-Tabellen in Azure Databricks der Standard sind, beschreiben die meisten Verweise auf Tabellen sofern nicht anders angegeben das Verhalten von Delta-Tabellen.

Databricks empfiehlt, immer mit Delta-Tabellen zu interagieren, die vollqualifizierte Tabellennamen anstelle von Dateipfaden verwenden.

Streamingtabellen

Streamingtabellen sind Delta-Tabellen, die hauptsächlich zum Verarbeiten inkrementeller Daten verwendet werden. Die meisten Aktualisierungen von Streamingtabellen erfolgen durch Aktualisierungsvorgänge.

Sie können Streamingtabellen in Unity Catalog mithilfe von Databricks SQL registrieren oder sie als Teil einer Delta Live-Tabellenpipeline definieren. Weitere Informationen finden Sie unter Laden von Daten mithilfe von Streamingtabellen in Databricks SQL. und Was sind Delta Live-Tabellen?.

Fremdtabellen

Fremdtabellen stellen in externen Systemen gespeicherte Daten dar, die in externen Systemen gespeichert sind, welche mit Azure Databricks über Lakehouse Federation verbunden sind. Fremdtabellen sind in Azure Databricks schreibgeschützt. Weitere Informationen finden Sie unter Was ist Lakehouse Federation?.

Featuretabellen

Jede Delta-Tabelle, die von Unity Catalog verwaltet wird und einen Primärschlüssel besitzt, ist eine Featuretabelle. Sie können Featuretabellen optional mithilfe des Online-Featurespeichers für Anwendungsfälle mit geringer Wartezeit konfigurieren. Weitere Informationen finden Sie unter Arbeiten mit Featuretabellen im Workspace Feature Store.

Hive-Tabellen (Legacy)

Hive-Tabellen beschreiben zwei unterschiedliche Konzepte in Azure Databricks. Beides sind nicht empfohlene Legacy-Muster.

Tabellen, die mithilfe des Legacy-Hive-Metastore registriert sind, speichern Daten standardmäßig im Legacy-DBFS-Stamm. Databricks empfiehlt, alle Tabellen aus dem Legacy-HMS-Katalog zu Unity Catalog zu migrieren. Weiter Informationen finden Sie unter Datenbankobjekte im Legacy-Hive-Metastore.

Apache Spark unterstützt das Registrieren und Abfragen von Hive-Tabellen, diese Codecs sind jedoch nicht für Azure Databricks optimiert. Databricks empfiehlt die Registrierung von Hive-Tabellen nur zur Unterstützung von Abfragen für Daten, die von externen Systemen geschrieben wurden. Weitere Informationen finden Sie unter Hive-Tabelle (Legacy).

Livetabellen (veraltet)

Der Begriff Livetabellen bezieht sich auf eine frühere Implementierung der Funktionalität, die jetzt als materialisierte Ansichten implementiert ist. Jeder Legacy-Code, der auf Livetabellen verweist, sollte aktualisiert werden, um die Syntax für materialisierte Ansichten zu verwenden. Weitere Informationen finden Sie unter Was sind Delta Live Tables? und Verwenden materialisierter Ansichten in Databricks SQL.

Grundlegende Tabellenberechtigungen

Zum Erstellen einer Tabelle benötigen Benutzer die Berechtigungen CREATE TABLE und USE SCHEMA für das Schema und die Berechtigung USE CATALOG für den übergeordneten Katalog. Zum Abfragen einer Tabelle benötigen Benutzer die Berechtigung „SELECT“ für die Tabelle im übergeordneten Schema. die Berechtigung „USE SCHEMA“ für ihr übergeordnete Schema und die Berechtigung „USE CATALOG“ für den übergeordneten Katalog.

Weitere Informationen zu Unity Catalog-Berechtigungen finden Sie unter Verwalten von Berechtigungen in Unity Catalog.