Spark-Ansichten in Lakehouses

Mithilfe von Spark-Ansichten in Microsoft Fabric können Sie komplexe Datenmodellierungslogik abstrahieren und einen vereinfachten Zugriff ermöglichen, ohne Daten zu duplizieren. Ansichten speichern keine Daten – sie führen die zugrunde liegende Abfrage jedes Mal aus, wenn Sie sie auswählen, sodass Sie Echtzeitergebnisse erhalten.

Wenn Sie mit materialisierten Seeansichten vertraut sind, die Ergebnisse als Delta-Dateien beibehalten (häufig in Medallion-Architekturen verwendet), bieten Spark-Ansichten eine einfache Alternative, wenn Sie die Daten nicht speichern müssen.

Dieser Artikel beschreibt, wie man Spark-Ansichten in schema-fähigen Seehäusern erstellt und verwaltet, wobei Ansichten in OneLake gespeichert und im Lakehouse Explorer sichtbar sind. Wenn Sie mit nicht schemafähigen Lakehouses arbeiten, lesen Sie Informationen zu Spark-Ansichten mit nicht schemafähigen Lakehouses.

Wie werden Spark-Ansichten gespeichert?

In schemafähigen Lakehouses werden Ansichtsmetadaten zusammen mit Ihren Tabellen in OneLake gespeichert, aber als Dateien und nicht als Ordner. Dieser Ansatz:

  • Verhindert Namenskonflikte zwischen Ansichten und Tabellen
  • Verwendet eine spezielle Dateieigenschaft, die es Engines ermöglicht, das Objekt als Ansicht zu identifizieren.

Derzeit können nur Spark und das Lakehouse Spark-Ansichten lesen. Andere Fabric-Workloads, z. B. SQL-Analyseendpunkt oder semantische Modelle, erkennen noch keine Spark-Ansichten.

Erstellen einer Spark-Ansicht

Verwenden Sie zum Erstellen einer Spark-Ansicht eine Notebook-Sitzung mit einem schema-aktivierten Lakehouse als Ihr standardmäßiges Lakehouse. Ausführen einer Spark SQL-Anweisung mit CREATE OR REPLACE VIEW:

CREATE OR REPLACE VIEW my_view AS
SELECT * FROM my_table WHERE status = 'active'

Sie können beispielsweise eine Ansicht erstellen, die zum Filtern von Umsatzdaten für eine bestimmte Region benannt ny_sales ist.

Die Ansicht erscheint im Lakehouse-Explorer unter deinem Schema nach dem Aktualisieren.

Screenshot der Spark-Ansicht in einem Seehaus.

Cross-Lakehouse-Abfragen

Spark-Ansichten können auf Daten aus mehreren Lakehouses zugreifen. Verbinden Sie Tabellen aus unterschiedlichen Lakehouses – oder sogar aus verschiedenen Arbeitsbereichen – in einer einzigen Ansicht.

CREATE OR REPLACE VIEW my_view AS
SELECT * FROM myworkspace.mylakehouse.schema.my_table as a
JOIN otherworkspace.otherlakehouse.schema.my_other_table as b
ON a.identifier=b.identifier WHERE a.status = 'active'

Geben Sie den Ansichtsspeicherort an

Erstellen Sie Ansichten in Ihrem Standardseehaus, oder geben Sie einen vierteiligen Namen für jedes Seehaus an, auf das Sie Zugriff haben:

CREATE OR REPLACE VIEW myworkspace.mylakehouse.schema.my_view AS
SELECT * FROM my_table WHERE status = 'active'

Weitere Informationen zur Benennung von vier Teilen finden Sie unter Cross-Workspace Spark SQL-Abfragen.

Ansichten in Lakehouse Explorer verwalten

Nach der Erstellung erscheint deine Spark-Ansicht im Lakehouse-Explorer neben deinen Tabellen. Im Kontextmenü der Ansicht haben Sie folgende Möglichkeiten:

  • Umbenennen der Ansicht

  • Löschen der Ansicht

  • Anzeigen von Eigenschaften, einschließlich der zugrunde liegenden Abfragedefinition

    Screenshot der Spark-Ansicht

Spark-Ansichten mit nicht schemafähigen Seehäusern

Wenn das Standard-Lakehouse Ihres Notizbuchs nicht schema-unterstützt ist, werden Spark-Views im Metastore erstellt. Diese Spark-Ansichten sind in Lakehouse Explorer nicht sichtbar. Nur in OneLake gespeicherte Ansichten erscheinen in Lakehouse Explorer.

Wenn Sie eine in OneLake gespeicherte Spark-Ansicht für ein nicht schemafähiges Lakehouse erstellen möchten, verwenden Sie eine Notizbuchsitzung mit einem schemafähigen Lakehouse als Standard, und verweisen Sie in Ihrer Abfrage auf das nicht schemafähige Lakehouse:

CREATE OR REPLACE VIEW myworkspace.non_schema_lakehouse.my_view AS
SELECT * FROM myworkspace.non_schema_lakehouse.my_table AS table
WHERE table.status = 'active'