Was ist Unity Catalog?
In diesem Artikel wird Unity Catalog vorgestellt, eine einheitliche Governancelösung für Daten und KI-Ressourcen in Azure Databricks.
Hinweis
Unity Catalog ist auch als Open Source-Implementierung verfügbar. Weitere Informationen finden Sie im Ankündigungsblog sowie im öffentlichen GitHub-Repository für Unity Catalog.
Übersicht über Unity Catalog
Unity Catalog bietet zentralisierte Zugriffssteuerungs-, Überwachungs-, Herkunfts- und Datenermittlungsfunktionen in Azure Databricks-Arbeitsbereichen.
Wichtige Features von Unity Catalog:
- Einmaliges Definieren, allgegenwärtiger Schutz: Unity Catalog bietet eine einzige Anlaufstelle zum Verwalten von Datenzugriffsrichtlinien, die für alle Arbeitsbereiche gelten.
- Standardkonformes Sicherheitsmodell: Das Sicherheitsmodell von Unity Catalog basiert auf der Standardversion von ANSI-SQL und ermöglicht es Administratoren, eine vertraute Syntax zu verwenden, um in ihrem bestehenden Data Lake Berechtigungen auf der Ebene von Katalogen, Schemas (auch Datenbanken genannt), Tabellen und Sichten zu gewähren.
- Integrierte Überwachung und Herkunft: Unity Catalog erfasst automatisch Überwachungsprotokolle auf Benutzerebene, in denen Zugriffe auf Ihre Daten erfasst werden. Unity Catalog erfasst auch Herkunftsdaten, die nachverfolgen, wie Datenressourcen über alle Sprachen hinweg erstellt und verwendet werden.
- Datenermittlung: Mit Unity Catalog können Sie Datenressourcen markieren und dokumentieren. Darüber hinaus bietet Unity Catalog eine Suchschnittstelle, die Datenconsumer beim Finden von Daten unterstützt.
- Systemtabellen (Public Preview): Mit Unity Catalog können Sie ganz einfach auf die Betriebsdaten Ihres Kontos zugreifen und diese abfragen, einschließlich Überwachungsprotokolle, abrechenbarer Verbrauch und Herkunft.
Objektmodell von Unity Catalog
In Unity Catalog werden alle Metadaten in einem Metastore registriert. Die Hierarchie von Datenbankobjekten in einem Unity Catalog-Metastore ist in drei Ebenen unterteilt – dargestellt als dreistufiger Namespace (catalog.schema.table-etc
), wenn Sie auf Tabellen, Sichten, Volumes, Modelle und Funktionen verweisen.
Metastores
Ein Metastore ist der oberste Container für Metadaten in Unity Catalog. Es registriert Metadaten zu Daten- und KI-Ressourcen und die Berechtigungen, die den Zugriff auf sie steuern. Damit ein Arbeitsbereich Unity Catalog verwendet, muss ein Unity Catalog-Metastore angefügt sein.
Für jede Region, in der Sie über Arbeitsbereiche verfügen, sollte ein Metastore vorhanden sein. Wie wird ein Arbeitsbereich an einen Metastore angefügt? Weitere Informationen finden Sie unter Gewusst wie Einrichten des Unity-Katalogs für meine Organisation?.
Objekthierarchie im Metastore
In einem Unity Catalog-Metastore besteht die dreistufige Datenbankobjekthierarchie aus Katalogen, die Schemas enthalten, die wiederum Daten und KI-Objekte wie Tabellen und Modelle enthalten.
Ebene 1:
- Kataloge werden verwendet, um Ihre Datenressourcen zu strukturieren, und fungieren in der Regel als oberste Ebene Ihres Datenisolationsschemas. Kataloge spiegeln häufig Organisationseinheiten oder Lebenszyklusbereiche in der Softwareentwicklung wieder. Weitere Informationen finden Sie unter Was sind Kataloge in Azure Databricks?.
- Sicherungsfähige Objekte, bei denen es sich nicht um Daten handelt (z. B. Speicheranmeldeinformationen und externe Speicherorte), werden verwendet, um Ihr Datengovernancemodell in Unity Catalog zu verwalten. Diese befinden sich ebenfalls direkt unter dem Metastore. Ausführlichere Informationen finden Sie unter Andere sicherungsfähige Objekte.
Ebene 2:
- Schemas (auch Datenbanken genannt) enthalten Tabellen, Sichten, Volumes, KI-Modelle und Funktionen. Schemas strukturieren Daten und KI-Ressourcen in logischen Kategorien, die differenzierter sind als Kataloge. In der Regel stellen sie einen einzelnen Anwendungsfall, ein bestimmtes Projekt oder eine Team-Sandbox dar. Weitere Informationen finden Sie unter Was sind Schemas in Azure Databricks?.
Ebene 3:
- Volumes sind logische Volumes mit unstrukturierten, nicht tabellarischen Daten im Cloudobjektspeicher. Volumes können entweder verwaltet sein (in diesem Fall verwaltet Unity Catalog den gesamten Lebenszyklus und das Layout der Daten im Speicher) oder extern (in diesem Fall verwaltet Unity Catalog den Zugriff auf die Daten innerhalb von Azure Databricks, aber nicht den Zugriff auf die Daten im Cloudspeicher von anderen Clients). Weitere Informationen finden Sie unter Was sind Unity Catalog-Volumes? sowie in der Gegenüberstellung von verwalteten und externen Tabellen und Volumes.
- Tabellen sind in Zeilen und Spalten strukturierte Datensammlungen. Tabellen können entweder verwaltet sein (in diesem Fall verwaltet Unity Catalog den gesamten Lebenszyklus der Tabelle), oder extern (in diesem Fall verwaltet Unity Catalog den Zugriff auf die Daten innerhalb von Azure Databricks, aber nicht den Zugriff auf die Daten im Cloudspeicher von anderen Clients). Sehen Sie sich an, was Tabellen und Ansichten sind? Und verwaltet im Vergleich zu externen Tabellen und Volumes.
- Sichten sind gespeicherte Abfragen für eine oder mehrere Tabellen. Weitere Informationen finden Sie unter Was ist eine Sicht?.
- Funktionen sind Einheiten gespeicherter Logik, die einen Skalarwert oder eine Gruppe von Zeilen zurückgeben. Weitere Informationen finden Sie unter Benutzerdefinierte Funktionen (UDFs, user-defined functions) in Unity Catalog.
- Modelle sind mit MLflow verpackte und in Unity Catalog als Funktionen registrierte KI-Modelle. Weitere Informationen dazu finden Sie unter Verwalten des Lebenszyklus von Modellen in Unity Catalog.
Verwenden von Datenbankobjekten in Unity Catalog
Die Verwendung von Datenbankobjekten in Unity Catalog ähnelt stark der Verwendung von Datenbankobjekten, die in einem Hive-Metastore registriert sind, allerdings mit dem Unterschied, dass ein Hive-Metastore keine Kataloge im Objektnamespace enthält. Sie können vertraute ANSI-Syntax verwenden, um Datenbankobjekte zu erstellen, Datenbankobjekte zu verwalten, Berechtigungen zu verwalten und mit Daten in Unity Catalog zu arbeiten. Sie können aber auch den Katalog-Explorer verwenden, um Datenbankobjekte zu erstellen, Datenbankobjekte zu verwalten und Berechtigungen für Datenbankobjekte zu verwalten.
Weitere Informationen finden Sie unter Datenbankobjekten in Azure Databricks sowie unter Arbeiten mit Unity Catalog und dem Legacy-Hive-Metastore.
Andere sicherungsfähige Objekte
Neben den Datenbankobjekten und KI-Ressourcen, die in Schemas enthalten sind, steuert Unity Catalog auch den Zugriff auf Daten unter Verwendung folgender sicherungsfähiger Objekte:
Speicheranmeldeinformationen kapseln langfristige Cloudanmeldeinformationen, die den Zugriff auf Cloudspeicher ermöglichen. Weitere Informationen finden Sie unter Erstellen von Speicheranmeldeinformationen zum Herstellen einer Verbindung mit Azure Data Lake Storage Gen2.
Externe Speicherorte enthalten einen Verweis auf Speicheranmeldeinformationen und einen Cloudspeicherpfad. Externe Speicherorte können verwendet werden, um externe Tabellen zu erstellen oder einen verwalteten Speicherort für verwaltete Tabellen und Volumes zuzuweisen. Weitere Informationen finden Sie unter Erstellen eines externen Speicherorts zum Verbinden des Cloudspeichers mit Azure Databricks, unter Datenisolation mit verwaltetem Speicher und unter Angeben eines verwalteten Speicherorts in Unity Catalog.
Verbindungen stellen Anmeldeinformationen dar, die schreibgeschützten Zugriff auf eine externe Datenbank in einem Datenbanksystem wie MySQL unter Verwendung von Lakehouse Federation gewähren. Weitere Informationen finden Sie unter Lakehouse Federation und Unity Catalog sowie unter Was ist ein Lakehouse-Verbund?.
Clean Rooms, die eine vom Databricks verwaltete Umgebung darstellen, in der mehrere Teilnehmer an Projekten zusammenarbeiten können, ohne zugrunde liegende Daten miteinander zu teilen. Siehe Was sind Azure Databricks Clean Rooms?.
Freigaben sind Delta Sharing-Objekte, die eine schreibgeschützte Sammlung von Daten und KI-Ressourcen darstellen, die ein Datenanbieter für einen oder mehrere Empfänger freigibt.
Empfänger sind Delta Sharing-Objekte, die eine Entität darstellen, die Freigaben von einem Datenanbieter empfängt.
Anbieter sind Delta Sharing-Objekte, die eine Entität darstellen, die Daten für einen Empfänger freigibt.
Weitere Informationen zu den sicherungsfähigen Delta Sharing-Objekten finden Sie unter Was ist Delta Sharing?.
Gewähren und Widerrufen von Zugriff auf Datenbankobjekte und andere sicherungsfähige Objekte in Unity Catalog
Sie können Zugriff auf sicherungsfähige Objekte auf einer beliebigen Ebene in der Hierarchie gewähren und widerrufen. Das gilt auch für den Metastore selbst. Durch Zugriff auf ein Objekt wird implizit der gleiche Zugriff auf alle untergeordneten Elemente dieses Objekts gewährt, es sei denn, der Zugriff wird widerrufen.
Sie können typische ANSI SQL-Befehle verwenden, um Zugriff auf Objekte in Unity Catalog zu gewähren und zu widerrufen. Zum Beispiel:
GRANT CREATE TABLE ON SCHEMA mycatalog.myschema TO `finance-team`;
Objektberechtigungen können aber auch per Katalog-Explorer oder Databricks CLI oder mithilfe von REST-APIs verwaltet werden.
Informationen zur Verwaltung von Berechtigungen in Unity Catalog finden Sie unter Verwalten von Berechtigungen in Unity Catalog.
Standardzugriff auf Datenbankobjekte in Unity Catalog
Unity Catalog basiert auf dem Prinzip der geringsten Rechte, bei dem Benutzer gerade über so viel Zugriff verfügen, wie sie für ihre erforderlichen Aufgaben benötigen. Wenn ein Arbeitsbereich erstellt wird, haben Benutzer ohne Administratorrechte nur Zugriff auf den automatisch bereitgestellten Arbeitsbereichskatalog. Dieser Katalog ist somit ein praktischer Ort für Benutzer, um sich mit der Erstellung von Datenbankobjekten in Unity Catalog sowie mit dem Zugriff auf diese Objekte vertraut zu machen. Weitere Informationen finden Sie unter Arbeitsbereichskatalogberechtigungen.
Administratorrollen
Arbeitsbereichsadministratoren und Kontoadministratoren verfügen standardmäßig über zusätzliche Berechtigungen. Metastore-Administrator ist eine optionale Rolle. Sie wird benötigt, wenn Sie Tabellen- und Volumespeicher auf Metastore-Ebene verwalten möchten, und ist praktisch, wenn Sie Daten in einer Region zentral über mehrere Arbeitsbereiche hinweg verwalten möchten. Weitere Informationen finden Sie unter Administratorrechte in Unity Catalog sowie unter (Optional) Zuweisen der Metastore-Administratorrolle.
Gegenüberstellung von verwalteten und externen Tabellen und Volumes
Tabellen und Volumes können verwaltet oder extern sein.
- Verwaltete Tabellen werden vollständig von Unity Catalog verwaltet. Das bedeutet, dass Unity Catalog sowohl die Governance als auch die zugrunde liegenden Datendateien für jede verwaltete Tabelle verwaltet. Verwaltete Tabellen werden an einem von Unity Catalog verwalteten Speicherort in Ihrem Cloudspeicher gespeichert. Verwaltete Tabellen verwenden immer das Delta Lake-Format. Sie können verwaltete Tabellen auf Metastore-, Katalog- oder Schemaebene speichern.
- Externe Tabellen sind Tabellen, bei denen Unity Catalog den Zugriff über Azure Databricks verwaltet, aber für die Verwaltung des Datenlebenszyklus und des Dateilayouts Ihr Cloudanbieter und andere Datenplattformen verwendet werden. Externe Tabellen werden in der Regel verwendet, um große Mengen an bereits vorhandenen Daten in Azure Databricks zu registrieren oder wenn Sie auch Schreibzugriff auf die Daten über Tools außerhalb von Azure Databricks benötigen. Für externe Tabellen werden mehrere Datenformate unterstützt. Nachdem eine externe Tabelle in einem Unity Catalog-Metastore registriert wurde, können Sie den Azure Databricks-Zugriff darauf genauso verwalten und überwachen wie bei verwalteten Tabellen und auch auf die gleiche Weise damit arbeiten.
- Verwaltete Volumes werden vollständig von Unity Catalog verwaltet. Das bedeutet, dass Unity Catalog den Zugriff auf den Speicherort des Volumes in Ihrem Cloudanbieterkonto verwaltet. Wenn Sie ein verwaltetes Volume erstellen, wird es automatisch an dem verwalteten Speicherort gespeichert, der dem enthaltenden Schema zugewiesen ist.
- Externe Volumes stellen vorhandene Daten an Speicherorten dar, die außerhalb von Azure Databricks verwaltet werden, aber in Unity Catalog registriert sind, um den Zugriff innerhalb von Azure Databricks zu steuern und zu überwachen. Wenn Sie ein externes Volume in Azure Databricks erstellen, geben Sie dessen Speicherort an. Dieser muss sich an einem Pfad befinden, der an einem externen Speicherort von Unity Catalog definiert ist.
Databricks empfiehlt, verwaltete Tabellen und Volumes zu verwenden, um in vollem Umfang von den Governancefunktionen und Leistungsoptimierungen von Unity Catalog zu profitieren.
Weitere Informationen finden Sie unter Verwenden verwalteter Tabellen, unter Verwenden externer Tabellen und unter Gegenüberstellung von verwalteten und externen Volumes.
Datenisolation mit verwaltetem Speicher
In Organisationen kann es erforderlich sein, bestimmte Arten von Daten in bestimmten Konten oder Buckets des eigenen Cloudmandanten zu speichern.
Unity Catalog bietet die Möglichkeit, Speicherorte auf Metastore-, Katalog- oder Schemaebene zu konfigurieren, um diese Anforderungen zu erfüllen. Das System wertet die Hierarchie der Speicherorte von Schema zu Katalog zu Metastore aus.
Angenommen, Ihre Organisation verfügt über eine Unternehmenscompliancerichtlinie, die erfordert, dass Produktionsdaten im Zusammenhang mit Personalressourcen sich im Container abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net befinden. In Unity Catalog können Sie diese Anforderung umsetzen, indem Sie einen Speicherort auf Katalogebene festlegen, z. B. einen Katalog namens hr_prod
erstellen und ihm den Speicherort abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net/unity-catalog zuweisen. Dies bedeutet, dass verwaltete Tabellen oder Volumes, die im hr_prod
-Katalog erstellt wurden (z. B. mithilfe von CREATE TABLE hr_prod.default.table …
) ihre Daten in abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net/unity-catalog speichern. Optional können Sie festlegen, dass Speicherorte auf Schemaebene bereitgestellt werden, um Daten innerhalb von hr_prod catalog
auf granularerer Ebene zu organisieren.
Sollte für einige Kataloge keine Speicherisolation erforderlich sein, können Sie optional einen Speicherort auf Metastoreebene festlegen. Dieser Speicherort fungiert als Standardspeicherort für verwaltete Tabellen und Volumes in Katalogen und Schemas, denen kein Speicher zugewiesen ist. In der Regel empfiehlt es sich allerdings, separate verwaltete Speicherorte für jeden Katalog zuzuweisen.
Weitere Informationen finden Sie unter Angeben eines verwalteten Speicherorts in Unity Catalog sowie unter Daten werden im Speicher physisch getrennt.
Arbeitsbereichskatalogbindung
Standardmäßig können Katalogbesitzer (und Metastore-Administratoren, sofern für das Konto definiert) einen Katalog für Benutzer in mehreren Arbeitsbereichen zugänglich machen, die an den gleichen Unity Catalog-Metastore angefügt sind. Wenn Sie allerdings Arbeitsbereiche verwenden, um den Benutzerdatenzugriff zu isolieren, empfiehlt es sich gegebenenfalls, den Katalogzugriff auf bestimmte Arbeitsbereiche in Ihrem Konto einzuschränken, um sicherzustellen, dass bestimmte Arten von Daten nur in diesen Arbeitsbereichen verarbeitet werden. Sie können beispielsweise separate Produktions- und Entwicklungsarbeitsbereiche oder einen separaten Arbeitsbereich für die Verarbeitung persönlicher Daten einrichten. Dies wird als Arbeitsbereichskatalogbindung bezeichnet. Weitere Informationen finden Sie unter Einschränken des Katalogzugriffs auf bestimmte Arbeitsbereiche.
Hinweis
Für eine stärkere Datenisolation können Sie den Cloudspeicherzugriff auch an bestimmte Arbeitsbereiche binden. Weitere Informationen finden Sie unter (Optional) Zuweisen von Speicheranmeldeinformationen zu bestimmten Arbeitsbereichen und (Optional) Zuweisen eines externen Speicherorts zu bestimmten Arbeitsbereichen.
Überwachen des Datenzugriffs
Unity Catalog erstellt ein Überwachungsprotokoll für Aktionen, die für den Metastore ausgeführt werden. Dadurch können Administratoren genau nachvollziehen, wer auf ein bestimmtes Dataset zugegriffen hat und welche Aktionen ausgeführt wurden.
Sie können mithilfe von Systemtabellen, die von Unity Catalog verwaltet werden, auf die Überwachungsprotokolle Ihres Kontos zugreifen.
Weitere Informationen finden Sie unter Überwachen von Unity Catalog-Ereignissen, unter Unity Catalog-Ereignisse und unter Überwachen des Verbrauchs mit Systemtabellen.
Nachverfolgen der Datenherkunft
Sie können Unity Catalog verwenden, um die Datenherkunft von Runtime-Daten in jeder Sprache über Abfragen hinweg zu erfassen, die auf einem Azure Databricks-Cluster oder einem SQL-Warehouse ausgeführt werden. Die Datenherkunft wird bis auf Spaltenebene erfasst und umfasst Notebooks, Aufträge und Dashboards im Zusammenhang mit der Abfrage. Weitere Informationen finden Sie unter Erfassen und Anzeigen der Datenherkunft mit Unity Catalog.
Lakehouse Federation und Unity Catalog
Lakehouse Federation ist die Abfrageverbundplattform für Azure Databricks. Der Begriff Abfrageverbund beschreibt eine Sammlung von Features, mit denen Benutzer und Systeme Abfragen für mehrere isolierte Datenquellen ausführen können, ohne alle Daten zu einem einheitlichen System migrieren zu müssen.
Azure Databricks verwendet zum Verwalten des Abfrageverbunds Unity Catalog. Sie verwenden Unity Catalog, um schreibgeschützte Verbindungen mit gängigen externen Datenbanksystemen zu konfigurieren und Fremdkataloge zu erstellen, die externe Datenbanken spiegeln. Die Tools für Datengovernance und Datenherkunft von Unity Catalog stellen sicher, dass der Datenzugriff für alle Verbundabfragen verwaltet und überwacht wird, die von den Benutzern in Ihren Azure Databricks-Arbeitsbereichen durchgeführt werden.
Weitere Informationen finden Sie unter Was ist Lakehouse Federation?.
Delta Sharing, Databricks Marketplace und Unity Catalog
Delta Sharing ist eine sichere Datenfreigabeplattform, mit der Sie Daten und KI-Ressourcen für Benutzer außerhalb Ihrer Organisation freigeben können – unabhängig davon, ob diese Benutzer Databricks verwenden. Delta Sharing ist zwar als Open-Source-Implementierung verfügbar, in Databricks wird jedoch Unity Catalog benötigt, um uneingeschränkt von erweiterten Funktionen profitieren zu können. Weitere Informationen finden Sie unter Was ist Delta Sharing?.
Databricks Marketplace ist ein offenes Forum für den Austausch von Datenprodukten und basiert auf Delta Sharing. Daher müssen Sie über einen Unity Catalog-fähigen Arbeitsbereich verfügen, um als Marketplace-Anbieter fungieren zu können. Weitere Informationen finden Sie unter Was ist Databricks-Marketplace?.
Gewusst wie Unity-Katalog für meine Organisation einrichten?
Für die Verwendung von Unity Catalog muss Ihr Azure Databricks-Arbeitsbereich für Unity Catalog aktiviert (sprich: an einen Unity Catalog-Metastore angefügt) sein.
Wie wird ein Arbeitsbereich an einen Metastore angefügt? Dies hängt von dem Konto und dem Arbeitsbereich ab:
- Wenn Sie zum ersten Mal einen Azure Databricks-Arbeitsbereich in einer Region erstellen, wird der Metastore automatisch erstellt und dem Arbeitsbereich zugeordnet.
- Bei einigen älteren Konten muss ein Kontoadministrator den Metastore erstellen und die Arbeitsbereiche in dieser Region dem Metastore zuweisen. Anweisungen finden Sie unter Erstellen eines Unity Catalog-Metastores.
- Wenn einem Konto bereits ein Metaspeicher für eine Region zugewiesen ist, kann ein Kontoadministrator entscheiden, ob der Metastore automatisch an alle neuen Arbeitsbereiche in dieser Region angefügt werden soll. Siehe Aktivieren eines Metastores, der automatisch neuen Arbeitsbereichen zugewiesen werden soll.
Die folgenden Schritte müssen unabhängig davon ausgeführt werden, ob Ihr Arbeitsbereich automatisch für Unity Catalog aktiviert wurde:
- Erstellen von Katalogen und Schemas für Datenbankobjekte wie Tabellen und Volumes
- Erstellen verwalteter Speicherorte zum Speichern der verwalteten Tabellen und Volumes in diesen Katalogen und Schemas
- Gewähren von Benutzerzugriff auf Kataloge, Schemas und Datenbankobjekte
Automatisch für Unity Catalog aktivierte Arbeitsbereiche stellen einen Arbeitsbereichskatalog mit umfassenden Berechtigungen bereit, die allen Arbeitsbereichsbenutzern gewährt werden. Dieser Katalog ist ein praktischer Ausgangspunkt, um sich mit Unity Catalog vertraut zu machen.
Eine ausführliche Einrichtungsanleitung finden Sie unter Einrichten und Verwalten von Unity Catalog.
Migrieren eines bereits vorhandenen Arbeitsbereichs zu Unity Catalog
Wenn Sie über einen älteren Arbeitsbereich verfügen, den Sie kürzlich für Unity Catalog aktiviert haben, verfügen Sie wahrscheinlich über Daten, die vom Legacy-Hive-Metastore verwaltet werden. Sie können diese Daten zusammen mit Daten verwenden, die in Unity Catalog registriert sind. Der Legacy-Hive-Metastore wird jedoch eingestellt, und es empfiehlt sich, die Daten aus Ihrem Hive-Metastore zeitnah zu Unity Catalog migrieren, um von den Vorteilen der überlegenen Governancefunktionen und der Leistung von Unity Catalog profitieren zu können.
Die Migration umfasst Folgendes:
- Konvertieren arbeitsbereichslokaler Gruppen in Gruppen auf Kontoebene. Unity Catalog zentralisiert die Identitätsverwaltung auf Kontoebene.
- Migrieren der im Hive-Metastore verwalteten Tabellen und Sichten zu Unity Catalog
- Aktualisieren von Abfragen und Aufträgen, sodass sie nicht mehr auf die alten Hive-Metastore-Tabellen verweisen, sondern auf Unity Catalog-Tabellen.
Folgenden kann bei einer Migration hilfreich sein:
UCX (ein Databricks Labs-Projekt) bietet Tools, mit denen Sie Ihren Unity Catalog-fremden Arbeitsbereich auf Unity Catalog upgraden können. UCX ist eine gute Wahl für größere Migrationen. Siehe Verwenden der UCX-Hilfsprogramme zum Upgrade Ihres Arbeitsbereichs auf Unity Catalog.
Für die Migration einer kleineren Anzahl von Tabellen bietet Azure Databricks einen benutzeroberflächenbasierten Assistenten und SQL-Befehle. Weitere Informationen finden Sie unter Upgrade von Hive-Tabellen und Sichten für Unity Catalog.
Informationen zur parallelen Verwendung von Tabellen im Hive-Metastore und von Datenbankobjekten in Unity Catalog im gleichen Arbeitsbereich finden Sie unter Arbeiten mit Unity Catalog und dem Legacy-Hive-Metastore.
Anforderungen und Einschränkungen von Unity Catalog
Unity Catalog erfordert bestimmte Arten von Computeressourcen und Dateiformaten. Diese werden im Anschluss beschrieben. Außerdem sind im Anschluss einige Azure Databricks-Features aufgeführt, die in Unity Catalog nicht für alle Databricks Runtime-Versionen uneingeschränkt unterstützt werden.
Regionsunterstützung
Alle Regionen unterstützen Unity Catalog. Weitere Informationen finden Sie unter Azure Databricks-Regionen.
Computeanforderungen
Unity Catalog wird in Clustern unterstützt, auf denen Databricks Runtime 11.3 LTS oder höher ausgeführt wird. Unity Catalog wird standardmäßig in allen SQL-Warehouse-Computeversionen unterstützt.
Cluster, die in früheren Versionen von Databricks Runtime ausgeführt werden, bieten keine Unterstützung für alle allgemein verfügbaren Features und Funktionen von Unity Catalog.
Um auf Daten in Unity Catalog zuzugreifen, müssen Cluster mit dem richtigen Zugriffsmodus konfiguriert werden. Unity Catalog ist standardmäßig geschützt. Wenn ein Cluster nicht mit dem modus für den freigegebenen oder einzelnen Benutzerzugriff konfiguriert ist, kann der Cluster nicht auf Daten im Unity-Katalog zugreifen. Weitere Informationen finden Sie unter Zugriffsmodi.
Ausführliche Informationen zu den Änderungen der Unity Catalog-Funktionen in jeder Databricks Runtime-Version finden Sie in den Versionshinweisen.
Einschränkungen für Unity Catalog variieren je nach Zugriffsmodus und Azure Databricks Runtime-Version. Siehe Einschränkungen des Computezugriffsmodus für Unity Catalog.
Unterstützung von Dateiformaten
Unity Catalog unterstützt die folgenden Tabellenformate:
- Verwaltete Tabellen müssen das Tabellenformat
delta
verwenden. - Externe Tabellen können
delta
,CSV
,JSON
,avro
,parquet
,ORC
odertext
verwenden.
Einschränkungen
Für Unity Catalog gelten die folgenden Einschränkungen: Einige davon gelten speziell für ältere Databricks Runtime-Versionen und Computezugriffsmodi.
Für Workloads für strukturiertes Streaming gelten je nach Databricks Runtime-Version und Zugriffsmodus zusätzliche Einschränkungen. Siehe Einschränkungen des Computezugriffsmodus für Unity Catalog.
Databricks veröffentlicht regelmäßig neue Funktionen, durch die sich diese Liste immer weiter verkürzt.
Zuvor in einem Arbeitsbereich erstellte Gruppen (also Gruppen auf Arbeitsbereichsebene) können nicht in
GRANT
-Anweisungen von Unity Catalog verwendet werden. Dadurch soll eine konsistente Ansicht von Gruppen sichergestellt werden, die sich über mehrere Arbeitsbereiche erstrecken kann. Um Gruppen inGRAN
T-Anweisungen zu verwenden, erstellen Sie Ihre Gruppen auf Kontoebene und aktualisieren Sie alle Automatisierungen für die Prinzipal- oder Gruppenverwaltung (z. B. SCIM, Okta- und Microsoft Entra ID-Konnektoren und Terraform), um auf Kontoendpunkte anstelle von Arbeitsbereichsendpunkten zu verweisen. Weitere Informationen finden Sie unter Unterschied zwischen Kontogruppen und arbeitsbereichslokalen Gruppen.Workloads in R unterstützen die Verwendung von dynamischen Ansichten für die Sicherheit auf Zeilen- oder Spaltenebene auf Compute mit Databricks Runtime 15.3 und darunter nicht.
Verwenden Sie eine einzelne Benutzer-Computeressource mit Databricks Runtime 15.4 LTS oder höher für Workloads in R, die dynamische Ansichten abfragen. Für solche Workloads ist auch ein Arbeitsbereich erforderlich, der für serverloses Computing aktiviert ist. Ausführliche Informationen finden Sie unter Feinkornierte Zugriffssteuerung für die Berechnung einzelner Benutzer.
Flache Klone werden in Unity Catalog für Computeressourcen, die Databricks Runtime 12.2 LTS und niedrigere Versionen ausführen, nicht unterstützt. Ab Databricks Runtime 13.3 LTS können flache Klone für die Erstellung verwalteter Tabellen verwendet werden. Sie können sie nicht zum Erstellen externer Tabellen verwendet werden, unabhängig von der Databricks Runtime-Version. Siehe Flache Klone für verwaltete Unity Catalog-Tabellen.
Bucketing wird für Unity Catalog-Tabellen nicht unterstützt. Wenn Sie Befehle ausführen, die versuchen, eine Buckettabelle in Unity Catalog zu erstellen, wird eine Ausnahme ausgelöst.
Das Schreiben in denselben Pfad oder dieselbe Delta-Tabelle von Arbeitsbereichen in mehreren Regionen kann zu einer unzuverlässigen Leistung führen, wenn einige Cluster auf Unity Catalog zugreifen und andere nicht.
Benutzerdefinierte Partitionsschemas, die mit Befehlen wie „
ALTER TABLE ADD PARTITION
“ erstellt wurden, werden für Tabellen in Unity Catalog nicht unterstützt. Unity Catalog kann auf Tabellen zugreifen, die die Partitionierung im Verzeichnisstil verwenden.Der Überschreibmodus für Dataframeschreibvorgänge in Unity Catalog wird nur für Delta-Tabellen unterstützt, nicht für andere Dateiformate. Der Benutzer muss das Recht
CREATE
für das übergeordnete Schema besitzen und Eigentümer des vorhandenen Objekts sein oder das RechtMODIFY
für das Objekt besitzen.In Databricks Runtime 12.2 LTS und niedrigeren Versionen werden keine Python-UDFs unterstützt. Dies schließt UDAFs, UDTFs und Pandas in Spark (
applyInPandas
undmapInPandas
) ein. Skalare Python-UDFs werden ab Databricks Runtime 13.3 LTS unterstützt.In Databricks Runtime 14.1 und niedrigeren Versionen werden Scala-UDFs für freigegebene Cluster nicht unterstützt. Ab Databricks Runtime 14.2 werden skalare Scala-UDFs für freigegebene Cluster unterstützt.
Standardmäßige Scala-Threadpools werden nicht unterstützt. Verwenden Sie stattdessen die speziellen Threadpools in
org.apache.spark.util.ThreadUtils
, z. Borg.apache.spark.util.ThreadUtils.newDaemonFixedThreadPool
. Die folgenden Threadpools inThreadUtils
werden jedoch nicht unterstützt:ThreadUtils.newForkJoinPool
und alleScheduledExecutorService
-Threadpools.Die Überwachungsprotokollierung wird nur für Unity Catalog-Ereignisse auf Arbeitsbereichsebene unterstützt. Ereignisse, die auf Kontoebene ohne Verweis auf einen Arbeitsbereich stattfinden, z. B. das Erstellen eines Metastores, werden nicht protokolliert.
Für in Unity Catalog registrierte Modelle gelten zusätzliche Einschränkungen. Informationen finden Sie unter Einschränkungen.
Ressourcenkontingente
Unity Catalog erzwingt Ressourcenkontingente für alle sicherungsfähigen Objekte. Diese Kontingente werden in den Ressourcengrenzwerten aufgeführt. Wenn Sie davon ausgehen, dass Sie diese Ressourcengrenzwerte überschreiten, wenden Sie sich an Ihr Azure Databricks-Kontoteam.
Sie können Ihren Kontingentbedarf mithilfe der Unity Catalog-Ressourcenkontingent-APIs überwachen. Weitere Informationen finden Sie unter Überwachen des Bedarfs an Unity Catalog-Ressourcenkontingenten.