Share via


Wat is voorspellende I/O?

Voorspellende I/O is een verzameling azure Databricks-optimalisaties die de prestaties voor gegevensinteracties verbeteren. Voorspellende I/O-mogelijkheden zijn gegroepeerd in de volgende categorieën:

  • Versnelde leesbewerkingen verminderen de tijd die nodig is om gegevens te scannen en te lezen.
  • Versnelde updates verminderen de hoeveelheid gegevens die opnieuw moeten worden geschreven tijdens updates, verwijderingen en samenvoegingen.

Voorspellende I/O is exclusief voor de Photon-engine in Azure Databricks.

Voorspellende I/O gebruiken om leesbewerkingen te versnellen

Voorspellende I/O wordt gebruikt om het scannen en filteren van gegevens te versnellen voor alle bewerkingen op ondersteunde rekentypen.

Belangrijk

Voorspellende I/O-leesbewerkingen worden ondersteund door de serverloze en pro-typen SQL-warehouses en met Photon versnelde clusters waarop Databricks Runtime 11.3 LTS en hoger wordt uitgevoerd.

Voorspellende I/O verbetert de scanprestaties door deep learning-technieken toe te passen op het volgende:

  • Bepaal het meest efficiënte toegangspatroon om de gegevens te lezen en alleen de gegevens te scannen die daadwerkelijk nodig zijn.
  • Verwijder de decodering van kolommen en rijen die niet nodig zijn om queryresultaten te genereren.
  • Bereken de waarschijnlijkheid van de zoekcriteria in selectieve query's die overeenkomen met een rij. Wanneer query's worden uitgevoerd, gebruiken we deze waarschijnlijkheden om te anticiperen op waar de volgende overeenkomende rij zou plaatsvinden en alleen die gegevens uit de cloudopslag te lezen.

Voorspellende I/O gebruiken om updates te versnellen

Voorspellende I/O voor updates wordt automatisch gebruikt voor alle tabellen waarvoor verwijderingsvectoren zijn ingeschakeld met behulp van de volgende rekentypen waarvoor Photon is ingeschakeld:

  • Serverloze SQL-magazijnen.
  • Pro SQL Warehouses.
  • Clusters met Databricks Runtime 14.0 en hoger.

Notitie

Ondersteuning voor voorspellende I/O voor updates is aanwezig in Databricks Runtime 12.2 LTS en hoger, maar Databricks raadt aan om 14.0 en hoger te gebruiken voor de beste prestaties.

Zie Wat zijn verwijderingsvectoren?

Belangrijk

Een werkruimtebeheerder bepaalt of verwijderingsvectoren automatisch zijn ingeschakeld voor nieuwe Delta-tabellen. Zie Verwijdervectoren automatisch inschakelen.

U schakelt ondersteuning in voor verwijderingsvectoren in een Delta Lake-tabel door een Delta Lake-tabeleigenschap in te stellen. U schakelt verwijderingsvectoren in tijdens het maken of wijzigen van een bestaande tabel, zoals in de volgende voorbeelden:

CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);

ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);

Waarschuwing

Wanneer u verwijderingsvectoren inschakelt, wordt de versie van het tabelprotocol bijgewerkt. Na de upgrade kan de tabel niet worden gelezen door Delta Lake-clients die geen ondersteuning bieden voor verwijderingsvectoren. Zie Hoe beheert Azure Databricks de compatibiliteit van Delta Lake-functies?

Zie Compatibiliteit met Delta-clients voor een lijst met clients die verwijderingsvectoren ondersteunen.

In Databricks Runtime 14.1 en hoger kunt u de functie verwijderingsvectorentabel verwijderen om compatibiliteit met andere Delta-clients mogelijk te maken. Zie Delta-tabelfuncties neerzetten.

Voorspellende I/O maakt gebruik van verwijderingsvectoren om updates te versnellen door de frequentie van volledige bestandsherschrijvingen te verminderen tijdens het wijzigen van gegevens in Delta-tabellen. Voorspellende I/O optimaliseert, MERGEen UPDATE bewerkingenDELETE.

In plaats van alle records in een gegevensbestand te herschrijven wanneer een record wordt bijgewerkt of verwijderd, gebruikt voorspellende I/O verwijderingsvectoren om aan te geven dat records zijn verwijderd uit de doelgegevensbestanden. Aanvullende gegevensbestanden worden gebruikt om updates aan te geven.

Volgende leesbewerkingen in de tabel lossen de huidige tabelstatus op door de genoteerde wijzigingen toe te passen op de meest recente tabelversie.

Belangrijk

Voorspellende I/O-updates delen alle beperkingen met verwijderingsvectoren. In Databricks Runtime 12.2 LTS en hoger bestaan de volgende beperkingen:

  • Delta Sharing wordt niet ondersteund voor tabellen waarvoor verwijderingsvectoren zijn ingeschakeld.
  • U kunt geen manifestbestand genereren voor een tabel met verwijderingsvectoren die aanwezig zijn. Voer uit REORG TABLE ... APPLY (PURGE) en zorg ervoor dat er geen gelijktijdige schrijfbewerkingen worden uitgevoerd om een manifest te genereren.
  • U kunt geen manifestbestanden voor een tabel genereren waarvoor verwijderingsvectoren zijn ingeschakeld.