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 DELETE
a MERGE
mű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.