Erstellen und Verwalten von Sichten
In diesem Artikel erfahren Sie, wie Sie Ansichten in Unity Catalog erstellen. Weitere Informationen finden Sie unter Was ist eine Sicht?.
Erforderliche Berechtigungen
So erstellen Sie eine Sicht:
- Sie benötigen die
USE CATALOG
-Berechtigung für den übergeordneten Katalog und dieUSE SCHEMA
- undCREATE TABLE
-Berechtigungen für das übergeordnete Schema. Ein Metastoreadministrator oder der Katalogbesitzer kann Ihnen all diese Berechtigungen gewähren. Ein Schemabesitzer kann Ihnen die BerechtigungenUSE SCHEMA
undCREATE TABLE
für das Schema erteilen. - Sie müssen in der Lage sein, die Tabellen und Ansichten zu lesen, auf die in der Ansicht verwiesen wird (
SELECT
sowohl in der Tabelle oder Ansicht als auchUSE CATALOG
im Katalog undUSE SCHEMA
im Schema). - Wenn eine Ansicht auf Tabellen im arbeitsbereichslokalen Hive-Metastore verweist, kann auf die Ansicht nur von dem Arbeitsbereich aus zugegriffen werden, der die arbeitsbereichslokalen Tabellen enthält. Aus diesem Grund empfiehlt Databricks, Ansichten nur aus Tabellen oder Ansichten zu erstellen, die sich im Metastore von Unity Catalog befinden.
- Sie können keine Ansicht erstellen, die auf eine Ansicht verweist, die mit Delta Sharing für Sie freigegeben wurde. Weitere Informationen finden Sie unter Was ist Delta Sharing?.
Zum Lesen einer Ansicht hängen die erforderlichen Berechtigungen vom Computetyp, Databricks Runtime-Version und Zugriffsmodus ab:
- Für alle Computeressourcen müssen
SELECT
Sie sich in der Ansicht selbst,USE CATALOG
im übergeordneten Katalog undUSE SCHEMA
im übergeordneten Schema befinden. Dies gilt für alle Computetypen, die Unity-Katalog unterstützen, einschließlich SQL-Lagerhäuser, Cluster im Modus für gemeinsam genutzten Zugriff und Cluster im Einzelbenutzerzugriffsmodus auf Databricks Runtime 15.4 und höher. - Für Cluster auf Databricks Runtime 15.3 und darunter, die den Einzelbenutzerzugriffsmodus verwenden, müssen Sie auch über alle Tabellen und Ansichten verfügen
SELECT
, auf die von der Ansicht verwiesen wird, zusätzlich zuUSE CATALOG
den übergeordneten Katalogen undUSE SCHEMA
in den übergeordneten Schemas.
Hinweis
Wenn Sie einen Einzelbenutzercluster für Databricks Runtime 15.4 LTS und höher verwenden und die Anforderung SELECT
für die zugrunde liegenden Tabellen und Ansichten vermeiden möchten, stellen Sie sicher, dass Ihr Arbeitsbereich für die serverlose Berechnung aktiviert ist.
Serverless compute handles data filtering, which allows access to a view without requiring permissions on its underlying tables and views. Beachten Sie, dass beim Abfragen von Ansichten möglicherweise serverlose Computegebühren auftreten. Weitere Informationen finden Sie unter Feinkornierte Zugriffssteuerung für die Berechnung einzelner Benutzer.
Erstellen einer Ansicht
Führen Sie den folgenden SQL Befehl aus, um eine Ansicht zu erstellen. Elemente in Klammern sind optional. Ersetzen Sie folgende Platzhalterwerte:
<catalog-name>
: Der Name des Katalogs.<schema-name>
: Der Name des Schemas.<view-name>
: Ein Name für die Ansicht.<query>
: Die Abfrage, Spalten, Tabellen und Ansichten, die zum Zusammenstellen der Ansicht verwendet werden.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;
So erstellen Sie beispielsweise eine Ansicht namens sales_redacted
aus Spalten in der sales_raw
-Tabelle:
CREATE VIEW sales_metastore.sales.sales_redacted AS
SELECT
user_id,
email,
country,
product,
total
FROM sales_metastore.sales.sales_raw;
Sie können auch eine Ansicht erstellen, indem Sie den Databricks-Terraform-Anbieter und databricks_table verwenden. Sie können eine Liste der vollständigen Namen der Ansichten mithilfe von databricks_views abrufen.
Löschen einer Sicht
Sie müssen der Besitzer der Ansicht sein, um eine Ansicht löschen zu können. Führen Sie den folgenden SQL Befehl aus, um eine Ansicht abzulegen.
DROP VIEW IF EXISTS catalog_name.schema_name.view_name;