Aktivieren der OneLake-Verfügbarkeit für ein Eventhouse

Sie können eine logische Kopie der KQL-Datenbankdaten in einem Eventhouse erstellen, indem Sie die OneLake-Verfügbarkeit aktivieren. Wenn Sie OneLake-Verfügbarkeit aktivieren, können Sie die Daten in Ihrer KQL-Datenbank im Delta Lake-Format über andere Fabric Engines wie den Direct Lake-Modus in Power BI, Warehouse, Lakehouse, Notebooks usw. abfragen. Delta Lake ist das einheitliche Data Lake-Tabellenformat, das nahtlosen Datenzugriff über alle Compute-Engines in Fabric hinweg ermöglicht.

In diesem Artikel erfahren Sie, wie Sie die Verfügbarkeit von KQL-Datenbankdaten in OneLake aktivieren.

Wenn OneLake-Verfügbarkeit und Schemasynchronisierung aktiviert sind, können Sie auch "Analysieren von Daten mit>SQL-Endpunkt auf Datenbankebene" verwenden, um die Delta Lake-Darstellung in nahezu Echtzeit über SQL-basierte Engines abzufragen.

Wenn OneLake-Verfügbarkeit und Schemasynchronisierung aktiviert sind, können Sie auch "Analysieren von Daten mit>SQL-Endpunkt auf Datenbankebene" verwenden, um die Delta Lake-Darstellung in nahezu Echtzeit über SQL-basierte Engines abzufragen.

So funktioniert die OneLake-Verfügbarkeit für KQL-Datenbanken

Sie können OneLake-Verfügbarkeit auf Datenbank- oder Tabellenebene aktivieren. Wenn sie auf Datenbankebene aktiviert sind, werden alle neuen Tabellen und ihre Daten in OneLake verfügbar gemacht. Wenn Sie das Feature aktivieren, können Sie diese Option auch auf vorhandene Tabellen anwenden, indem Sie die Option Auf vorhandene Tabellen anwenden Option auswählen, um historischen Rückfüllen einzuschließen. Das Aktivieren auf Tabellenebene macht nur diese Tabelle und die zugehörigen Daten in OneLake verfügbar. Die Datenaufbewahrungsrichtlinie Ihrer KQL-Datenbank wird auch auf die Daten in OneLake angewendet. Daten, die am Ende des Aufbewahrungszeitraums aus Ihrer KQL-Datenbank entfernt werden, werden auch aus OneLake entfernt. Wenn Sie die OneLake-Verfügbarkeit deaktivieren, werden Daten vorläufig aus OneLake gelöscht.

Die Backend-Schemasynchronisierung hält die Delta-Lake-Darstellung mit der KQL-Datenbank abgestimmt und ermöglicht so Abfragen nahezu in Echtzeit über den SQL-Endpunkt und Notebooks. Informationen zum erwarteten Latenz- und Batchverhalten finden Sie unter Adaptives Verhalten.

Während OneLake-Verfügbarkeit aktiviert ist, können Sie die folgenden Aufgaben nicht ausführen:

  • Benennen Sie Tabellen um.
  • Ändern eines Spaltentyps. Das Hinzufügen oder Löschen einer Spalte wird unterstützt.
  • Wenden Sie die Sicherheit auf Zeilenebene auf Tabellen an.
  • Daten löschen, kürzen oder vollständig entfernen.

Wenn Sie eine dieser Aufgaben ausführen müssen, führen Sie die folgenden Schritte aus:

  1. Deaktivieren Sie die Verfügbarkeit von OneLake.
  2. Führen Sie die Aufgabe aus.
  3. Aktivieren Sie die OneLake-Verfügbarkeit.

Wichtig

Wenn Sie OneLake-Verfügbarkeit deaktivieren, werden Ihre Daten vorläufig aus OneLake gelöscht. Wenn Sie die Verfügbarkeit wieder aktivieren, sind alle Daten in OneLake verfügbar, einschließlich historischem Rückfüllen.

Hinweis

Informationen zur Zeit, zu der Daten in OneLake angezeigt werden müssen, finden Sie unter Adaptives Verhalten. Für die Verfügbarkeit von OneLake fallen keine zusätzlichen Speicherkosten an. Weitere Informationen finden Sie unter Ressourcenverbrauch.

Voraussetzungen

Aktivieren der Verfügbarkeit von OneLake für eine KQL-Datenbank oder -Tabelle

Sie können die Verfügbarkeit von OneLake für eine KQL-Datenbank oder -Tabelle aktivieren.

  1. Wählen Sie eine Datenbank oder Tabelle aus.

  2. Legen Sie im Abschnitt OneLake des Detailbereichs Verfügbarkeit auf Aktiviertfest.

    Screenshot des OneLake-Abschnitts des Bereichs

  3. Wählen Sie im Fenster OneLake-Verfügbarkeit aktivieren die Option Aktivieren aus.

    Screenshot des Verfügbarkeitsfensters „OneLake aktivieren“ mit der Option „Auf vorhandene Tabellen anwenden“.

  4. Die Datenbank- oder Tabellendetails werden automatisch aktualisiert.

    ** Screenshot der Details des OneLake-Abschnitts, sobald die Verfügbarkeit auf „Aktiviert“ gesetzt ist. Die Option, Daten für OneLake freizugeben, ist aktiviert.

Wenn Sie die Verfügbarkeit von OneLake in Ihrer KQL-Datenbank oder -Tabelle aktivieren, können Sie auf alle Daten im angegebenen OneLake-Pfad im Delta Lake-Format zugreifen. Sie können auch eine OneLake-Verknüpfung aus einem Seehaus oder Lager erstellen oder die Daten direkt über Power BI Direct Lake-Modus abfragen. Nachdem die OneLake-Verfügbarkeit in Ihrer KQL-Datenbank oder -Tabelle aktiviert ist, können Sie jetzt auf alle Daten im angegebenen OneLake-Pfad im Delta Lake-Format zugreifen. Sie können außerdem eine OneLake-Verknüpfung aus einem Lakehouse oder Data Warehouse erstellen oder die Daten direkt über den Power BI Direct Lake-Modus abfragen.

Verwenden mit den Daten analysieren mit-Optionen

Wenn die Verfügbarkeit von OneLake aktiviert ist, machen Eventhouse- und KQL-Datenbankelemente Analysedaten mit Optionen auf Datenbankebene verfügbar:

  • SQL-Endpunkt: Verfügbar, wenn sowohl die Verfügbarkeit von OneLake als auch die Schemasynchronisierung aktiviert sind.
  • Notizbuch: Öffnet die notizbuchbasierte Analyse für die ausgewählte Datenbank.

Wenn Sie die OneLake-Verfügbarkeit deaktivieren, wird die SQL-Endpunktoption aus diesem Menü entfernt, bis Sie es erneut aktivieren.

Adaptives Verhalten bei der Batchverarbeitung von Parquet-Dateien

Ein Eventhouse bündelt eingehende Datenströme intelligent in einer oder mehreren für Analysen strukturierten Parquet-Dateien. Das Bündeln von Datenströmen ist beim Umgang mit nach und nach eintreffenden Daten wichtig, da das Schreiben vieler kleiner Parquet-Dateien in den Data Lake ineffizient sein kann. Diese Ineffizienz führt zu höheren Kosten und schlechter Abfrageleistung.

Der adaptive Eventhouse-Mechanismus kann Schreibvorgänge in OneLake verzögern, wenn nicht genügend Daten vorhanden sind, um optimale Parquet-Dateien zu erstellen. Dieses Verhalten stellt sicher, dass Parquet-Dateien eine optimale Größe haben und den Best Practices von Delta Lake entsprechen. Dies gleicht die Notwendigkeit einer zeitnahen Datenverfügbarkeit mit Kosten- und Leistungsüberlegungen ab.

Standard- und konfigurierbare Schreiblatenz für die Verfügbarkeit von OneLake:

Setting Standardwert Zulässiger Bereich
Schreibvorgangsverzögerung (TargetLatencyInMinutes) Bis zu 3 Stunden oder bis Dateien mit ausreichender Größe (in der Regel 200-256 MB) erstellt werden 5 Minuten bis 3 Stunden

Verwenden Sie beispielsweise den folgenden Kusto-Befehl, um die Schreibverzögerung für eine einzelne Tabelle auf 5 Minuten festzulegen:

.alter-merge table <TableName> policy mirroring dataformat=parquet with (IsEnabled=true, TargetLatencyInMinutes=5);

Vorsicht

Das Anpassen der Verzögerung auf einen kürzeren Zeitraum kann zu einer suboptimalen Delta-Tabelle mit einer großen Anzahl kleiner Dateien führen, was zu einer ineffizienten Abfrageleistung führen kann. Die in OneLake resultierende Tabelle ist schreibgeschützt und kann einmal erstellt nicht mehr optimiert werden.

Sie können überwachen, wie lange neue Daten im See hinzugefügt wurden, indem Sie die Datenlatenz mit dem .show table mirroring operations Befehl überprüfen.

Die Ergebnisse werden ab dem letzten Hinzufügen von Daten gemessen. Wenn bei Latenz00:00:00 angezeigt wird, sind alle Daten in der KQL-Datenbank in OneLake verfügbar.

Delta Lake-Dateien in OneLake anzeigen

Wenn Sie die Verfügbarkeit von OneLake für eine Tabelle aktivieren, erstellt der Prozess einen Delta-Protokollordner zusammen mit allen entsprechenden JSON- und Parkettdateien. Sie können die in OneLake verfügbaren Dateien und ihre Eigenschaften anzeigen, ohne Real-Time Intelligence zu verlassen.

  • Um die Dateien anzuzeigen, zeigen Sie im Explorer-Bereich auf eine Tabelle, und wählen Sie dann das Menü „Mehr“ [...]>Dateien anzeigen aus.

    Screenshot des Explorer-Fensters, das das Dropdown-Menü 'Mehr' einer Tabelle zeigt.

  • Um die Eigenschaften des Delta-Protokoll-Ordners oder der einzelnen Dateien anzuzeigen, bewegen Sie den Mauszeiger über den Ordner oder die Datei und wählen Sie dann das Menü "Weitere" [...]>Eigenschaften aus.

  • So zeigen Sie die Dateien im Delta-Protokoll-Ordner an:

    1. Wählen Sie den Ordner _delta_log aus.
    2. Wählen Sie eine Datei aus, um die Metadaten und das Schema der Tabelle anzuzeigen. Der Editor, der geöffnet wird, ist im schreibgeschützten Format.

Zugreifen auf die OneLake-Spiegelungsrichtlinie

Wenn Sie die Verfügbarkeit von OneLake für eine KQL-Datenbank oder -Tabelle aktivieren, aktiviert das System standardmäßig eine Spiegelungsrichtlinie. Sie können die Spiegelungsrichtlinie verwenden, um die Datenlatenz zu überwachen oder sie in Partitionsdeltatabellen zu ändern.

Hinweis

Wenn Sie die OneLake-Verfügbarkeit ausschalten, wird die Eigenschaft IsEnabled der Spiegelungsrichtlinie auf false (IsEnabled=false) gesetzt.

Partitionsdeltatabellen in OneLake

Sie können Ihre Delta-Tabellen partitionieren, um die Abfragegeschwindigkeit zu verbessern. Informationen dazu, wann Ihre OneLake-Dateien partitioniert werden sollten, finden Sie unter Gründe für die Partitionierung von Tabellen. Jede Partition wird mithilfe der PartitionName in der Partitions Liste aufgeführten Spalten als separate Spalte dargestellt. Diese Darstellung bedeutet, dass Ihre OneLake-Kopie mehr Spalten enthält als die Quelltabelle.

Verwenden Sie den .alter-merge table policy mirroring Befehl, um Ihre Delta-Tabellen zu partitionieren.

Delta-Tabellen aus einem Fabric-Notebook abfragen

Sie können Fabric Notebook verwenden, um die OneLake-Daten mithilfe des folgenden Codeausschnitts zu lesen.

Tip

Sie können ein neues oder vorhandenes Fabric Notizbuch direkt über "Daten analysieren" in> einer Eventhouse- oder KQL-Datenbank starten. Das Notizbuch wird automatisch an den ausgewählten Datenbankkontext angefügt. Verwenden Sie das folgende Codebeispiel, wenn Sie manuellen pfadbasierten Zugriff benötigen.

Ersetzen Sie im Codeausschnitt <workspaceGuid>, <workspaceGuid>und <tableName> durch Ihre eigenen Werte.

delta_table_path = 'abfss://<workspaceGuid>@onelake.dfs.fabric.microsoft.com/<eventhouseGuid>/Tables/<tableName>'

df = spark.read.format("delta").load(delta_table_path)

df.show()

Hinweis

Verwenden Sie für eine Azure Data Explorer-Datenbank diesen Code:

delta_table_path = 'abfss://<workspaceName>@onelake.dfs.fabric.microsoft.com/<itemName>.KustoDatabase/Tables/<tableName>'