Was sind Kataloge in Azure Databricks?
Ein Katalog ist die primäre Einheit der Datenorganisation im Azure Databricks Unity-Katalog-Datengovernancemodell. Dieser Artikel enthält eine Übersicht über Kataloge im Unity-Katalog und wie sie am besten verwendet werden können.
Kataloge sind die erste Ebene im dreistufigen Namespace (catalog.schema.table-etc
). Sie enthalten Schemas, die wiederum Tabellen, Ansichten, Volumes, Modelle und Funktionen enthalten können. Kataloge werden in einem Unity-Katalogmetastore in Ihrem Azure Databricks-Konto registriert.
Wie sollte ich meine Daten in Kataloge organisieren?
Wenn Sie Ihr Datengovernancemodell entwerfen, sollten Sie die von Ihnen erstellten Kataloge sorgfältig berücksichtigen. Als höchste Ebene im Datengovernancemodell Ihrer Organisation sollte jeder Katalog eine logische Datenisolation und eine logische Kategorie des Datenzugriffs darstellen, sodass eine effiziente Hierarchie von Finanzhilfen zu Schemas und den darin enthaltenen Datenobjekten fließen kann. Kataloge spiegeln daher häufig Organisationseinheiten oder Softwareentwicklungslebenszyklusbereiche wieder. Sie können z. B. einen Katalog für Produktionsdaten und einen Katalog für Entwicklungsdaten oder einen Katalog für Nicht-Kundendaten und einen Katalog für vertrauliche Kundendaten verwenden.
Datenisolation mithilfe von Katalogen
Jeder Katalog verfügt in der Regel über einen eigenen verwalteten Speicherort , um verwaltete Tabellen und Volumes zu speichern und physische Datenisolation auf Katalogebene bereitzustellen. Sie können auch daten auf metastore-Ebene speichern und einen Standardspeicherort für Kataloge bereitstellen, die keinen verwalteten Speicherort besitzen. Sie können Speicher auf Schemaebene hinzufügen, um eine differenziertere Datenisolation zu erhalten.
Da Ihr Azure Databricks-Konto über einen Metaspeicher pro Region verfügt, sind Kataloge inhärent nach Region isoliert.
Weitere Informationen finden Sie unter Was sind Datenbankobjekte in Azure Databricks? Und Daten werden physisch im Speicher getrennt.
Berechtigungen auf Katalogebene
Da Finanzhilfen für jedes Unity Catalog-Objekt von untergeordneten Elementen dieses Objekts geerbt werden, ist das Besitzen eines Katalogs oder das Vorhandensein umfassender Berechtigungen für einen Katalog sehr leistungsfähig. Katalogbesitzer verfügen beispielsweise über alle Berechtigungen für den Katalog und die Objekte im Katalog, und sie können Zugriff auf jedes Objekt im Katalog gewähren. Benutzer mit SELECT
einem Katalog können eine beliebige Tabelle im Katalog lesen. Benutzer mit CREATE TABLE
einem Katalog können eine Tabelle in einem beliebigen Schema im Katalog erstellen.
Um das Prinzip der geringsten Rechte zu erzwingen, wenn Benutzer über den minimalen Zugriff verfügen, den sie zum Ausführen ihrer erforderlichen Aufgaben benötigen, gewähren Sie in der Regel nur Zugriff auf die spezifischen Objekte oder Ebenen in der Hierarchie, die der Benutzer benötigt. Mithilfe von Berechtigungen auf Katalogebene kann der Katalogbesitzer jedoch verwalten, was Besitzer von Objekten auf niedrigerer Ebene gewähren können. Auch wenn einem Benutzer Zugriff auf ein Datenobjekt auf niedriger Ebene wie einer Tabelle gewährt wird, kann dieser Benutzer nicht auf diese Tabelle zugreifen, es sei denn, er hat auch die USE CATALOG
Berechtigung für den Katalog, der die Tabelle enthält.
Weitere Informationen finden Sie unter Verwalten des Besitzes des Unity-Katalogobjekts, allgemeine Unity-Katalog-Berechtigungstypen sowie Datengovernance- und Datenisolationsbausteine.
Katalogtypen
Wenn Sie einen Katalog erstellen, erhalten Sie zwei Optionen:
- Standardkatalog: Der typische Katalog, der als primäre Einheit verwendet wird, um Ihre Datenobjekte im Unity-Katalog zu organisieren. Dies ist der Katalogtyp, der in diesem Artikel erläutert wird.
- Fremdkatalog: ein Unity Catalog-Objekt, das nur in Lakehouse Federation-Szenarien verwendet wird. Ein fremder Katalog spiegelt eine Datenbank in einem externen Datensystem wider, sodass Sie schreibgeschützte Abfragen für dieses Datensystem in Ihrem Azure Databricks-Arbeitsbereich ausführen können. Weitere Informationen finden Sie unter Was ist Lakehouse Federation?.
Zusätzlich zu diesen beiden Katalogtypen stellt Azure Databricks beim Erstellen eines neuen Arbeitsbereichs automatisch die folgenden Kataloge bereit:
hive_metastore
catalog: This is the repository of all data managed by the legacy Hive metastore in Azure Databricks workspaces. Wenn ein vorhandener Arbeitsbereich des Nicht-Unity-Katalogs in Den Unity-Katalog konvertiert wird, werden alle Objekte, die im legacy-Hive-Metaspeicher registriert sind, im Unity-Katalog imhive_metastore
Katalog angezeigt. Informationen zum Arbeiten mit dem Hive-Metastore zusammen mit dem Unity-Katalog finden Sie unter "Arbeiten mit Unity-Katalog" und "Legacy-Hive-Metaspeicher". Der Hive-Metaspeicher ist veraltet, und alle Azure Databricks-Arbeitsbereiche sollten zum Unity-Katalog migriert werden.- Arbeitsbereichkatalog: In allen neuen Arbeitsbereichen wird dieser Katalog standardmäßig für Sie erstellt. In der Regel teilt sie ihren Namen mit Ihrem Arbeitsbereichsnamen. Wenn dieser Katalog vorhanden ist, haben alle Benutzer in Ihrem Arbeitsbereich (und nur Ihr Arbeitsbereich) standardmäßig Zugriff darauf. Dadurch können Benutzer den Prozess zum Erstellen und Zugreifen auf Datenobjekte im Unity-Katalog ausprobieren. Weitere Informationen finden Sie unter Schritt 1: Vergewissern Sie sich, dass Ihr Arbeitsbereich für den Unity Catalog aktiviert ist.
Standardkatalog
Ein Standardkatalog ist für jeden Arbeitsbereich konfiguriert, der für Unity Catalog aktiviert ist. Mit dem Standardkatalog können Sie Datenvorgänge ausführen, ohne einen Katalog anzugeben. Wenn Sie bei der Durchführung von Datenoperationen den Namen des obersten Katalogs weglassen, wird der Standardkatalog angenommen.
Wenn Ihr Arbeitsbereich automatisch für Unity-Katalog aktiviert wurde, wird der vorab bereitgestellte Arbeitsbereichskatalog als Standardkatalog angegeben. Ein Arbeitsbereichsadministrator kann den Standardkatalog nach Bedarf ändern.
Ausführliche Informationen finden Sie unter Verwalten des Standardkatalogs.
Arbeitsbereichskatalogbindung
Wenn Sie Arbeitsbereiche verwenden, um den Benutzerdatenzugriff zu isolieren, empfiehlt sich die Verwendung von Bindungen zwischen Arbeitsbereichen und Katalogen. Mithilfe von Bindungen zwischen Arbeitsbereichen und Katalogen können Sie den Zugriff auf Kataloge durch Arbeitsbereichsgrenzen einschränken. So können Sie beispielsweise sicherstellen, dass Arbeitsbereichsadministrator*innen und Benutzer*innen nur aus einer Produktionsarbeitsbereichsumgebung (prod_workspace
) auf Produktionsdaten in prod_catalog
zugreifen können. Kataloge werden für alle Arbeitsbereiche freigegeben, die dem aktuellen Metastore zugeordnet sind, es sei denn, Sie geben eine Bindung an. Weitere Informationen finden Sie unter "Organisieren Ihrer Daten " und "Einschränken des Katalogzugriffs auf bestimmte Arbeitsbereiche".
Wenn Ihr Arbeitsbereich automatisch für Unity Catalog aktiviert wurde, ist der vorab bereitgestellte Arbeitsbereichkatalog standardmäßig an Ihren Arbeitsbereich gebunden.