Teilen über


Was ist eine Sicht?

Eine Ansicht ist ein schreibgeschütztes Objekt, das das Ergebnis einer Abfrage über eine oder mehrere Tabellen und Ansichten in einem Unity Catalog-Metastore ist. Sie können eine Ansicht aus Tabellen und aus anderen Ansichten in mehreren Schemata und Katalogen erstellen.

In diesem Artikel werden die Ansichten beschrieben, die Sie in Azure Databricks erstellen können, und bietet eine Erläuterung der Berechtigungen und der Computeressourcen, die zum Abfragen erforderlich sind.

Informationen zum Erstellen von Ansichten finden Sie unter:

Ansichten im Unity-Katalog

Im Unity-Katalog befinden sich Ansichten auf der dritten Ebene des dreistufigen Namespaces (catalog.schema.view):

Unity Catalog-Objektmodelldiagramm, das sich auf die Ansicht konzentriert

In einer Ansicht wird der Text einer Abfrage in der Regel anhand einer oder mehrerer Datenquellen oder Tabellen im Metaspeicher gespeichert. In Azure Databricks entspricht eine Ansicht einem Spark DataFrame, der als Objekt in einem Schema beibehalten wird. Im Gegensatz zu DataFrames können Sie Ansichten von überall in Azure Databricks abfragen, vorausgesetzt, Sie verfügen über die Berechtigung dazu. Das Erstellen einer Ansicht verarbeitet oder schreibt keine Daten. Nur der Abfragetext wird im Metaspeicher im zugehörigen Schema registriert.

Hinweis

Ansichten weisen möglicherweise unterschiedliche Ausführungssemantik auf, wenn sie von anderen Datenquellen als Delta-Tabellen unterstützt werden. Databricks empfiehlt, Ansichten immer durch Verweisen auf Datenquellen mithilfe eines Tabellen- oder Ansichtsnamens zu definieren. Das Definieren von Ansichten für Datasets durch Angeben eines Pfads oder URI kann zu verwirrenden Datengovernanceanforderungen führen.

Metrik-Ansichten

Metrikansichten im Unity-Katalog definieren wiederverwendbare Geschäftsmetriken, die zentral verwaltet und für alle Benutzer in Ihrem Arbeitsbereich zugänglich sind. Eine Metrikansicht abstrahiert die Logik hinter häufig verwendeten KPIs , z. B. Umsatz, Kundenanzahl oder Konvertierungsrate, sodass sie konsistent über Dashboards, Notizbücher und Berichte abgefragt werden können. Jede Metrikansicht gibt eine Reihe von Measures und Dimensionen basierend auf einer Quelltabelle, Ansicht oder SQL-Abfrage an. Metrikansichten werden in YAML definiert und mithilfe von SQL abgefragt.

Die Verwendung von Metrikansichten trägt dazu bei, Inkonsistenzen in Metrikdefinitionen zu reduzieren, die andernfalls über mehrere Tools und Workflows dupliziert werden können. Weitere Informationen finden Sie unter Metrikansichten .

Materialisierte Sichten

Materialisierte Ansichten berechnen und aktualisieren die von der definierenden Abfrage zurückgegebenen Ergebnisse inkrementell. Materialisierte Ansichten in Azure Databricks sind eine spezielle Art der Delta-Tabelle. Während alle anderen Ansichten in Azure Databricks Ergebnisse berechnen, indem die Logik ausgewertet wird, die die Ansicht definiert hat, wenn sie abgefragt wird, verarbeiten materialisierte Ansichten Ergebnisse und speichern sie in einer zugrunde liegenden Tabelle, wenn Aktualisierungen entweder mit einem Aktualisierungszeitplan oder beim Ausführen eines Pipelineupdates verarbeitet werden.

Sie können materialisierte Ansichten im Unity-Katalog mithilfe von Databricks SQL registrieren oder als Teil von Lakeflow Spark Declarative Pipelines definieren. Siehe Verwenden materialisierter Ansichten in Databricks SQL und Lakeflow Spark Declarative Pipelines.

Temporäre Ansichten

Eine temporäre Ansicht hat eingeschränkten Bereich und Persistenz und ist nicht in einem Schema oder Katalog registriert. Die Lebensdauer einer temporären Ansicht unterscheidet sich je nach der verwendeten Umgebung:

  • In Notebooks und Aufträgen werden temporäre Ansichten auf der Notebook- oder Skriptebene festgelegt. Sie können nicht außerhalb des Notizbuchs verwiesen werden, in dem sie deklariert sind, und nicht mehr vorhanden, wenn das Notizbuch vom Cluster getrennt wird.
  • In Databricks SQL werden temporäre Ansichten auf der Abfrageebene festgelegt. Die temporäre Ansicht kann von mehreren Anweisungen innerhalb derselben Abfrage verwendet werden, in anderen Abfragen kann jedoch nicht darauf verwiesen werden, auch nicht auf demselben Dashboard.

Dynamische Ansichten

Dynamische Ansichten können verwendet werden, um zusätzlich zur Datenmaskierung eine Zugriffskontrolle auf Zeilen- und Spaltenebene bereitzustellen. Siehe Erstellen einer dynamischen Ansicht.

Ansichten im Hive-Metaspeicher (Legacy)

Sie können Legacy-Hive-Ansichten für jede Datenquelle definieren und im älteren Hive-Metaspeicher registrieren. Databricks empfiehlt, alle legacy-Hive-Ansichten in den Unity-Katalog zu migrieren. Siehe Ansichten im Hive-Metaspeicher.

Globale Hive-Temp-Ansicht (Legacy)

Globale Temp-Ansichten sind ein älteres Azure Databricks-Feature, mit dem Sie eine temporäre Ansicht registrieren können, die für alle Workloads verfügbar ist, die für eine Computeressource ausgeführt werden. Globale Temp-Ansichten sind ein Legacy-Holdover von Hive und HDFS. Databricks empfiehlt, globale temp-Ansichten zu verwenden.

Anforderungen für das Abfragen von Ansichten

Um Ansichten zu lesen, die im Unity-Katalog registriert sind, hängen die erforderlichen Berechtigungen vom Computetyp, der Databricks-Runtime-Version und dem Zugriffsmodus ab.

Hinweis

Für alle Ansichten werden Berechtigungsprüfungen sowohl für die Ansicht selbst als auch für die zugrunde liegenden Tabellen und Ansichten ausgeführt, auf denen die Ansicht basiert. Der Benutzer, dessen Berechtigungen auf zugrunde liegende Tabellen und Ansichten überprüft werden, hängt von der Berechnung ab. Im folgenden Beispiel überprüft Unity Catalog die Berechtigungen des Ansichtsbesitzers für die zugrunde liegenden Daten:

  • SQL-Lagerhäuser.
  • Standard compute (früher gemeinsam genutzter Compute).
  • Dedizierte Computing (ehemals Einzelbenutzendencompute) auf Databricks Runtime 15.4 LTS und höher mit aktivierter fein abgestimmter Zugriffssteuerung.

Für dediziertes Computing auf Databricks Runtime 15.3 und darunter überprüft Unity Catalog sowohl die Berechtigungen des Ansichtsbesitzers als auch die des Ansichtsbenutzers für die zugrunde liegenden Daten.

Dieses Verhalten spiegelt sich in den unten aufgeführten Anforderungen wider. In beiden Fällen muss der Ansichtsbesitzer Berechtigungen für die zugrunde liegenden Daten verwalten, damit Benutzer auf die Ansicht zugreifen können.

  • Für alle Computeressourcen müssen Sie über SELECT für die Ansicht selbst, USE CATALOG im übergeordneten Katalog und USE SCHEMA im übergeordneten Schema verfügen. Dies gilt für alle Computetypen, die Unity-Katalog unterstützen, einschließlich SQL-Lagerhäusern, Clustern im Standardzugriffsmodus und Clustern im dedizierten Zugriffsmodus auf Databricks Runtime 15.4 und höher.
  • Für Cluster auf Databricks Runtime 15.3 und darunter, die den dedizierten Zugriffsmodus verwenden, müssen Sie auch SELECT auf allen Tabellen und Ansichten haben, auf die von der Ansicht verwiesen wird, sowie USE CATALOG auf ihren übergeordneten Katalogen und USE SCHEMA auf ihren übergeordneten Schemas.

Hinweis

Wenn Sie einen dedizierten Cluster auf 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 Computing übernimmt die Datenfilterung, was den Zugriff auf eine Ansicht ermöglicht, ohne dass Berechtigungen für die zugrunde liegenden Tabellen und Ansichten erforderlich sind. Beachten Sie, dass Ihnen Ressourcen für serverloses Computing in Rechnung gestellt werden, wenn Sie dediziertes Computing zur Abfrage von Ansichten verwenden. Weitere Informationen finden Sie unter Feingranulare Zugriffssteuerung auf dedizierte Rechenleistung.