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 Einzelbenutzer-Computeressourcen auf Databricks Runtime 15.4 und höher, gemeinsamen Computeressourcen und SQL-Warehouses benötigen Sie SELECT für die Ansicht selbst, USE CATALOG für ihren übergeordneten Katalog und USE SCHEMA für ihr übergeordnetes Schema.

    Hinweis

    Wenn Sie eine Einzelbenutzer-Computeressource auf Databricks Runtime 15.4 LTS und höher verwenden, müssen Sie außerdem sicherstellen, dass Ihr Arbeitsbereich für serverloses Computing aktiviert ist, das die Datenfilterfunktionalität ausführt, die den Zugriff auf die Ansicht unterstützt, ohne dass ein Zugriff auf die zugrunde liegenden Tabellen und Ansichten der Ansicht erforderlich ist. Möglicherweise werden Ihnen daher serverlose Computing-Ressourcen in Rechnung gestellt, wenn Sie Einzelbenutzer-Compute zur Abfrage von Ansichten verwenden. Weitere Informationen finden Sie unter Präzise Zugriffssteuerung auf Einzelbenutzer-Compute. Die Datenfilterung mithilfe von Databricks Runtime 15.4 und serverlosem Compute befindet sich in der öffentlichen Vorschau.

  • Bei Einzelbenutzer-Computeressourcen auf Databricks Runtime 15.3 und darunter müssen Sie auch über SELECT in allen Tabellen und Ansichten verfügen, auf welche die Ansicht verweist, zusätzlich zu USE CATALOG in ihren übergeordneten Katalogen und USE SCHEMA in ihren übergeordneten Schemas.

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;