Mi a prediktív I/O?

A prediktív I/O az Azure Databricks optimalizálásainak gyűjteménye, amely javítja az adat-interakciók teljesítményét. A prediktív I/O-képességek a következő kategóriákba vannak csoportosítva:

  • A gyorsított olvasás csökkenti az adatok beolvasásához és olvasásához szükséges időt.
  • A gyorsított frissítések csökkentik a frissítések, törlések és egyesítések során újraírandó adatok mennyiségét.

A prediktív I/O kizárólag az Azure Databricks Photon motorja számára érhető el.

Prediktív I/O használata az olvasás felgyorsításához

A prediktív I/O a támogatott számítási típusok összes műveletének adatvizsgálati és szűrési teljesítményének felgyorsítására szolgál.

Fontos

A prediktív I/O-olvasásokat az SQL-tárolók kiszolgáló nélküli és profi típusai, valamint a Databricks Runtime 11.3 LTS-t és újabb verziót futtató Photon-gyorsított fürtök támogatják.

A prediktív I/O javítja a vizsgálati teljesítményt, ha mélytanulási technikákat alkalmaz a következők végrehajtására:

  • Határozza meg a leghatékonyabb hozzáférési mintát az adatok olvasásához és csak a ténylegesen szükséges adatok vizsgálatához.
  • A lekérdezési eredmények létrehozásához nem szükséges oszlopok és sorok dekódolásának megszüntetése.
  • A keresési feltételek valószínűségének kiszámítása egy sornak megfelelő szelektív lekérdezésekben. A lekérdezések futtatásakor ezeket a valószínűségeket arra használjuk, hogy előre jelezzük, hol fordul elő a következő egyező sor, és csak a felhőbeli tárolóból olvassuk be az adatokat.

Prediktív I/O használata a frissítések felgyorsításához

A frissítések prediktív I/O-jának használata automatikusan történik az összes olyan táblához, amelyeken engedélyezve vannak a törlési vektorok a következő Photon-kompatibilis számítási típusok használatával:

  • Kiszolgáló nélküli SQL-raktárak.
  • Pro SQL-raktárak.
  • A Databricks Runtime 14.0-s vagy újabb verzióját futtató fürtök.

Feljegyzés

A databricks runtime 12.2 LTS-ben és újabb verziókban a prediktív I/O támogatása a frissítésekhez, a Databricks azonban a 14.0-s vagy újabb verzió használatát javasolja a legjobb teljesítmény érdekében.

Lásd: Mik azok a törlési vektorok?.

Fontos

A munkaterület-rendszergazdai beállítás azt szabályozza, hogy a törlési vektorok automatikusan engedélyezve legyenek-e az új Delta-táblákhoz. Lásd: Törlési vektorok automatikus engedélyezése.

Egy Delta Lake-tábla törlési vektorainak támogatását egy Delta Lake-táblatulajdonság beállításával engedélyezheti. A törlési vektorokat a tábla létrehozásakor vagy egy meglévő tábla módosításakor engedélyezheti, ahogyan az alábbi példákban is látható:

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

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

Figyelmeztetés

Ha engedélyezi a törlési vektorokat, a táblaprotokoll verziója frissül. A frissítés után a tábla nem lesz olvasható a törlési vektorokat nem támogató Delta Lake-ügyfelek számára. Lásd : Hogyan kezeli az Azure Databricks a Delta Lake-funkciók kompatibilitását?.

A törlési vektorokat támogató ügyfelek listáját lásd: Kompatibilitás a Delta-ügyfelekkel.

A Databricks Runtime 14.1-es és újabb verziókban elvetheti a törlési vektorok táblafunkcióját, hogy kompatibilis legyen más Delta-ügyfelekkel. Lásd a Delta-tábla funkcióinak elvetése című témakört.

A prediktív I/O a törlési vektorokkal felgyorsítja a frissítéseket azáltal, hogy csökkenti a teljes fájlátírás gyakoriságát a Delta-táblák adatmódosítása során. A prediktív I/O optimalizálja DELETEa MERGEműveleteket és UPDATE a műveleteket.

Ahelyett, hogy egy adatfájl összes rekordját újraírta volna egy rekord frissítésekor vagy törlésekor, a prediktív I/O törlési vektorokkal jelzi, hogy a rekordok el lettek távolítva a céladatfájlokból. A kiegészítő adatfájlok a frissítések jelzésére szolgálnak.

A táblázat későbbi olvasásai feloldják az aktuális táblaállapotot úgy, hogy a tábla legújabb verziójára alkalmazza a feljegyzett módosításokat.

Fontos

A prediktív I/O-frissítések minden korlátozást megosztanak a törlési vektorokkal. A Databricks Runtime 12.2 LTS és újabb verziókban a következő korlátozások léteznek:

  • A deltamegosztás nem támogatott olyan táblákban, amelyeken engedélyezve van a törlési vektor.
  • Nem hozható létre jegyzékfájl egy olyan táblához, amelyen törlési vektorok vannak jelen. Futtassa REORG TABLE ... APPLY (PURGE) és győződjön meg arról, hogy nem futnak egyidejű írási műveletek a jegyzék létrehozásához.
  • Nem hozhat létre növekményes jegyzékfájlokat olyan táblákhoz, amelyeken engedélyezve van a törlési vektor.