Freigeben über


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 die USE SCHEMA- und CREATE TABLE-Berechtigungen für das übergeordnete Schema. Ein Metastoreadministrator oder der Katalogbesitzer kann Ihnen all diese Berechtigungen gewähren. Ein Schemabesitzer kann Ihnen die Berechtigungen USE SCHEMA und CREATE 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 auch USE CATALOG im Katalog und USE 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 und USE 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 zu USE CATALOG den übergeordneten Katalogen und USE 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;