Co je prediktivní I/O?

Predictive I/O je kolekce optimalizací Azure Databricks, které urychlují čtení a aktualizaci dat:

  • Zrychlená čtení urychlují selektivní dotazy, které by jinak skenovaly mnohem více dat, než by vrátily.
  • Zrychlené aktualizace snižují množství přepisovaných dat, když aktualizace, smazání nebo sloučení změní jen několik řádků v souboru.

Prediktivní vstupně-výstupní operace jsou exkluzivní pro modul Photon v Azure Databricks. Podívejte se na co je Photon?

Když se používá prediktivní I/O

Prediktivní I/O běží automaticky. Nezapínáte ho pro jednotlivé dotazy. Jak využít výhod:

Prediktivní I/O také nahrazuje indexy Bloomových filtrů. Viz indexy filtru Bloom (zastaralé).

Zrychlení čtení pomocí prediktivních vstupně-výstupních operací

Prediktivní vstupně-výstupní operace se používají ke zrychlení prohledávání dat a filtrování výkonu pro všechny operace na podporovaných výpočetních typech.

Důležité

Prediktivní čtení vstupně-výstupních operací jsou podporovány bezserverovými a profesionálními typy SQL warehouse a Photon-akcelerovanými clustery spuštěnými modulem Databricks Runtime 11.3 LTS a vyšší verzí.

Prediktivní I/O zlepšuje výkon skenování použitím technik hlubokého učení k:

  • Určete nejefektivnější způsob přístupu pro čtení dat a procházejte pouze ta data, která jsou skutečně potřeba.
  • Eliminujte dekódování sloupců a řádků, které nejsou potřeba k vygenerování výsledků dotazu.
  • Vypočítejte pravděpodobnosti, že kritéria vyhledávání v selektivních dotazech odpovídají řádku. Při běhu dotazů prediktivní I/O využívá tyto pravděpodobnosti k předpovědi, kde se objeví další shodný řádek, a načte pouze tato data z cloudového úložiště.

Zrychlení aktualizací pomocí prediktivních vstupně-výstupních operací

Prediktivní I/O pro aktualizace se automaticky používá pro všechny tabulky, které mají na těchto typech výpočtů s podporou Photonu povolené vektory odstranění:

  • Bezserverové sklady SQL.
  • Sklady Pro SQL.
  • Clustery s Modulem Databricks Runtime 14.0 a novějším

Poznámka

Podpora prediktivních vstupně-výstupních operací pro aktualizace je k dispozici v Databricks Runtime 12.2 LTS a vyšší, ale Databricks doporučuje pro zajištění nejlepšího výkonu používat verzi 14.0 a vyšší.

Viz vektory odstranění v Databricks.

Důležité

Nastavení správce pracovního prostoru určuje, zda jsou vektory mazání automaticky povoleny pro nové tabulky Delta Lake. Viz automatické povolení vektorů odstranění.

Podporu vektorů odstranění v tabulce Delta Lake povolíte nastavením vlastnosti tabulky Delta Lake. Při vytváření tabulky můžete povolit vektory mazání nebo upravit existující tabulku, například:

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

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

Upozornění

Když povolíte vektory odstranění, upgraduje se verze protokolu tabulky. Po upgradu tabulka není čitelná pro klienty Delta Lake, kteří nepodporují deletion vectors. Viz kompatibilita a protokoly funkcí Delta Lake.

Seznam klientů, kteří podporují vektory odstranění, naleznete v tématu Kompatibilita klientů.

V Databricks Runtime 14.1 a novější můžete zrušit funkci tabulky pro mazací vektory, což umožní kompatibilitu s jinými klienty Delta. Viz Smazat tabulku Delta Lake a snížit protokol tabulky.

Prediktivní I/O využívá vektory mazání k urychlení aktualizací snížením frekvence úplného přepisování souborů během úprav dat v tabulkách Delta Lake. Prediktivní vstupně-výstupní operace optimalizují DELETEMERGEa UPDATE provoz.

Místo přepsání všech záznamů v datovém souboru při aktualizaci nebo odstranění jakéhokoli záznamu používá prediktivní vstupně-výstupní vektory k označení, že se z cílových datových souborů odebraly záznamy. Doplňkové datové soubory slouží k označení aktualizací.

Následná čtení na tabulce vyřeší aktuální stav tabulky aplikováním uvedených změn na nejnovější verzi tabulky.

Důležité

Prediktivní aktualizace vstupně-výstupních operací sdílejí všechna omezení s vektory odstranění. V Databricks Runtime 12.2 LTS a novějších platí tato omezení:

  • OpenSharing se nepodporuje u tabulek s povolenými vektory odstranění.
  • Nelze vygenerovat soubor manifestu pro tabulku s přítomnými vektory odstranění. Spusťte REORG TABLE ... APPLY (PURGE) a ujistěte se, že nejsou spuštěny žádné souběžné operace zápisu, aby se vygeneroval manifest.
  • Soubory manifestu nelze přírůstkově generovat pro tabulku s povolenými vektory odstranění.