Beschikbaarheid van OneLake inschakelen voor een eventhouse

U kunt een logische kopie van KQL-databasegegevens maken in een eventhouse door beschikbaarheid van OneLake in te schakelen. Wanneer u OneLake-beschikbaarheid inschakelt, kunt u query's uitvoeren op de gegevens in uw KQL-database in Delta Lake-indeling via andere Fabric engines, zoals de Direct Lake-modus in Power BI, Warehouse, Lakehouse, Notebooks en meer. Delta Lake is de uniforme data lake-tabelindeling die naadloze gegevenstoegang mogelijk maakt voor alle rekenengines in Fabric.

In dit artikel leert u hoe u de beschikbaarheid van KQL-databasegegevens in OneLake inschakelt.

Hoe OneLake-beschikbaarheid werkt voor KQL-databases

U kunt de beschikbaarheid van OneLake inschakelen op database- of tabelniveau. Wanneer u deze inschakelt op databaseniveau, zijn alle nieuwe tabellen en de bijbehorende gegevens beschikbaar in OneLake. Wanneer u de functie inschakelt, kunt u deze optie ook toepassen op bestaande tabellen door de optie Toepassen op bestaande tabellen te selecteren om historische backfill op te nemen. Als u op tabelniveau inschakelt, worden alleen die tabel en de bijbehorende gegevens beschikbaar in OneLake. Het bewaarbeleid voor gegevens van uw KQL-database is ook van toepassing op de gegevens in OneLake. Gegevens die zijn verwijderd uit uw KQL-database aan het einde van de bewaarperiode, worden ook verwijderd uit OneLake. Als u OneLake-beschikbaarheiduitschakelt, worden gegevens voorlopig verwijderd uit OneLake.

Hoewel OneLake-beschikbaarheid is ingeschakeld, kunt u de volgende taken niet uitvoeren:

  • Wijzig de naam van tabellen.
  • Een kolomtype wijzigen. Het toevoegen of verwijderen van een kolom wordt ondersteund.
  • Pas beveiliging op rijniveau toe op tabellen.
  • Gegevens verwijderen, afkappen of opschonen.

Als u een van deze taken wilt uitvoeren, gebruikt u de volgende stappen:

  1. Schakel OneLake-beschikbaarheiduit.
  2. Voer de taak uit.
  3. Schakel OneLake-beschikbaarheidin.

Belangrijk

Wanneer u de beschikbaarheid van OneLake uitschakelt worden uw gegevens tijdelijk uit OneLake verwijderd. Wanneer u beschikbaarheid weer inschakelt, zijn alle gegevens beschikbaar in OneLake, inclusief historische backfill.

Notitie

Zie Adaptief gedrag voor informatie over de tijd die nodig is om gegevens weer te geven in OneLake. Er zijn geen extra opslagkosten om de beschikbaarheid van OneLakein te schakelen. Zie resourceverbruik voor meer informatie.

Vereisten

Beschikbaarheid van OneLake inschakelen voor een KQL-database of -tabel

U kunt de beschikbaarheid van OneLake inschakelen voor een KQL-database of -tabel.

  1. Selecteer een database of tabel.

  2. Stel in het gedeelte OneLake van het detailvenster Beschikbaarheid in op Ingeschakeld.

    Schermopname van de sectie OneLake van het deelvenster Databasedetails met de optie Beschikbaarheid gemarkeerd.

  3. Selecteer In het venster OneLake-beschikbaarheid inschakelen de optie Inschakelen.

    Schermopname van het venster OneLake-beschikbaarheid inschakelen met de optie Toepassen op bestaande tabellen.

  4. De gegevens van de database of tabel worden automatisch vernieuwd.

    Schermopname van de sectie OneLake details zodra beschikbaarheid is ingesteld op Ingeschakeld. De optie om gegevens beschikbaar te maken voor OneLake is ingeschakeld.

Wanneer u De beschikbaarheid van OneLake inschakelt in uw KQL-database of -tabel, hebt u toegang tot alle gegevens op het opgegeven OneLake-pad in Delta Lake-indeling. U kunt ook een OneLake-snelkoppeling maken vanuit een lakehouse of magazijn of de gegevens rechtstreeks opvragen via Power BI Direct Lake-modus.

Adaptief gedrag voor batchverwerking van parquet-bestanden

Een eventhouse batcheert op intelligente wijze binnenkomende gegevensstromen in een of meer Parquet-bestanden die zijn gestructureerd voor analyse. Het bundelen van gegevensstromen is belangrijk wanneer gegevens geleidelijk binnenkomen, omdat het inefficiënt kan zijn om veel kleine Parquet-bestanden in de data lake te schrijven. Deze inefficiëntie resulteert in hogere kosten en slechte queryprestaties.

Het adaptieve mechanisme van eventhouse kan schrijfbewerkingen naar OneLake vertragen als er onvoldoende gegevens zijn om optimale Parquet-bestanden te maken. Dit gedrag zorgt ervoor dat Parquet-bestanden optimaal in grootte zijn en voldoen aan best practices voor Delta Lake. Hiermee wordt de behoefte aan beschikbaarheid van gegevens in balans gebracht met kosten- en prestatieoverwegingen.

Standaard en configureerbare schrijflatentie voor OneLake-beschikbaarheid:

Setting Standaardwaarde Toegestaan bereik
Vertraging van de schrijfbewerking (TargetLatencyInMinutes) Tot 3 uur of totdat bestanden met voldoende grootte (meestal 200-256 MB) worden gemaakt 5 minuten tot 3 uur

Gebruik bijvoorbeeld de volgende Kusto-opdracht om de schrijfvertraging in te stellen op 5 minuten voor één tabel:

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

Voorzichtigheid

Het aanpassen van de vertraging tot een kortere periode kan leiden tot een suboptimale deltatabel met een groot aantal kleine bestanden, wat kan leiden tot inefficiënte queryprestaties. De resulterende tabel in OneLake is alleen-lezen en kan niet worden geoptimaliseerd nadat deze is gemaakt.

U kunt controleren hoe lang geleden nieuwe gegevens in de lake zijn toegevoegd door uw gegevenslatentie te controleren met behulp van de .show table mirroring operations opdracht.

Resultaten worden gemeten vanaf de laatste keer dat gegevens zijn toegevoegd. Wanneer Latency00:00:00 retourneert, zijn alle gegevens in de KQL-database beschikbaar in OneLake.

Delta Lake-bestanden weergeven in OneLake

Wanneer u De beschikbaarheid van OneLake voor een tabel inschakelt, maakt het proces een deltalogboekmap samen met eventuele bijbehorende JSON- en Parquet-bestanden. U kunt de bestanden bekijken die beschikbaar zijn in OneLake en hun eigenschappen terwijl u binnen Real-Time Intelligence blijft.

  • Als u de bestanden wilt weergeven, beweegt u de muisaanwijzer over een tabel in het deelvenster Explorer en selecteert u vervolgens het menu Meer [...]>Bestanden weergeven.

    Schermopname van het deelvenster Explorer met de vervolgkeuzelijst Meer van een tabel.

  • Als u de eigenschappen van de deltalogboekmap of de afzonderlijke bestanden wilt bekijken, beweegt u de muisaanwijzer over de map of het bestand en selecteert u vervolgens het menu Meer [...]>Eigenschappen.

  • Om de bestanden in de delta logboek map weer te geven:

    1. Selecteer de map _delta_log.
    2. Selecteer een bestand om de metagegevens en het schema van de tabel weer te geven. De geopende editor is in alleen-lezen formaat.

Open het beleid voor OneLake-spiegeling

Wanneer u De beschikbaarheid van OneLake voor een KQL-database of -tabel inschakelt, schakelt het systeem standaard een spiegelingsbeleid in. U kunt het spiegelingsbeleid gebruiken om gegevenslatentie te bewaken of het zodanig te wijzigen dat het deltatabellen partitioneert.

Notitie

Als u de beschikbaarheid van OneLake uitschakelt, wordt de eigenschap van het spiegelingsbeleid IsEnabled ingesteld op false (IsEnabled=false).

Deltatabellen partitioneren in OneLake

U kunt uw deltatabellen partitioneren om de querysnelheid te verbeteren. Zie Wanneer kunt u tabellen partitioneren voor informatie over wanneer u uw OneLake-bestanden wilt partitioneren. Elke partitie wordt weergegeven als een afzonderlijke kolom, met gebruik van de PartitionName die in de lijst Partitions worden vermeld. Deze weergave betekent dat uw OneLake-kopie meer kolommen heeft dan uw brontabel.

Gebruik de .alter-merge table policy mirroring opdracht om uw deltatabellen te partitioneren.

Delta-tabellen opvragen vanuit een Fabric-notebook

U kunt een Fabric notebook gebruiken om de OneLake-gegevens te lezen die worden weergegeven door OneLake-beschikbaarheid met behulp van het volgende PySpark-codefragment. Vervang in het codefragment <workspaceGuid>, <eventhouseGuid>en <tableName> door uw eigen waarden.

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

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

df.show()

Notitie

Gebruik deze code voor een Azure Data Explorer-database:

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