Prediktív optimalizálás felügyelt Unity Catalog-táblákhoz

A prediktív optimalizálás automatikusan végrehajtja a OPTIMIZE, VACUUM és ANALYZE műveleteket az Azure Databricksben lévő, Unity Catalog által felügyelt táblákon (Delta Lake és Iceberg), így kiküszöböli a manuális karbantartást és a teljesítményproblémák nyomon követésére fordított időt.

Megjegyzés

A prediktív optimalizálás alapértelmezés szerint engedélyezve van a 2024. november 11-én vagy azt követően létrehozott fiókok esetében. A Databricks fokozatos bevezetéssel engedélyezi a meglévő fiókokat. A bevezetés várhatóan 2026 augusztusára fejeződik be. Annak ellenőrzéséhez, hogy a fiókja már engedélyezve van-e, tekintse meg a prediktív optimalizálás engedélyezésének ellenőrzését.

Ha engedélyezve van a prediktív optimalizálás, a Databricks automatikusan a következőket teszi:

  • Azonosítja azokat a táblákat, amelyek kihasználnák a karbantartási műveleteket, és várólistára állítja a futtatandó műveleteket.
  • Statisztikákat gyűjt, ha az adatok egy felügyelt táblába íródnak.

Ez kiküszöböli a szükségtelen karbantartási futtatásokat, valamint a teljesítmény manuális nyomon követésének és hibaelhárításának terheit.

A Databricks prediktív optimalizálást javasol az összes Unity Catalog által felügyelt táblához. Az automatizált adatcsoportosítás például intelligens adatelrendezés-optimalizálást alkalmaz az adathasználati minták alapján. Lásd: Táblákhoz folyékony klaszterezés használata.

Milyen műveleteket futtat a prediktív optimalizálás?

A prediktív optimalizálás a következő műveleteket futtatja a Unity Catalog által felügyelt táblákon:

Művelet Leírás
OPTIMIZE Elindítja az engedélyezett táblák inkrementális fürtözését. Lásd: Táblákhoz folyékony klaszterezés használata. A fájlméretek optimalizálásával javítja a lekérdezés teljesítményét. Lásd: Adatfájlelrendezés optimalizálása.
VACUUM Csökkenti a tárolási költségeket a tábla által már nem hivatkozott adatfájlok törlésével. Azokon a táblákon, amelyeken engedélyezve van az Iceberg-olvasás (UniForm), a rendszer a nem elérhető Iceberg-metaadatfájlokat is megtisztítja. Lásd: A nem használt adatfájlok eltávolítása vákuummal és VACUUM az Iceberg-metaadatok tisztítása.
ANALYZE Megvizsgálja a táblát, és statisztikákat gyűjt a lekérdezési teljesítmény javítása érdekében. Lásd:ANALYZE TABLE ... SZÁMÍTÁSI STATISZTIKÁK. A prediktív optimalizálás által gyűjtött statisztikák eltávolításához lásd ANALYZE TABLE : ... DROP STATISTICS.

Megjegyzés

OPTIMIZE nem fut ZORDER , ha prediktív optimalizálással hajtják végre. A Z-sorrendet használó táblákban a prediktív optimalizálás figyelmen kívül hagyja a Z-rendezésű fájlokat.

Ha engedélyezve van az automatikus folyékony fürtözés, a prediktív optimalizálás új fürtkulcsokat választhat az adatok fürtözése előtt. Lásd: Automatikus folyadékfürtözés.

Figyelmeztetés

A megőrzési időtartamot VACUUM a delta.deletedFileRetentionDuration táblatulajdonság határozza meg, amely alapértelmezés szerint 7 nap. VACUUM Eltávolítja azokat az adatfájlokat, amelyekre már nem hivatkozik a Delta-tábla verziója az adott ablakban. Ha hosszabb ideig szeretné megőrizni az adatokat (például a hosszabb időutazás támogatása érdekében), állítsa be ezt a tulajdonságot a prediktív optimalizálás engedélyezése előtt:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');

Számítás és számlázás

Prediktív optimalizálási futtatások során a ANALYZE, OPTIMIZE és VACUUM műveleteket kiszolgáló nélküli számítási kapacitással hajtják végre. A fiók számlázása ehhez a számításhoz kiszolgáló nélküli feladatok termékváltozatával történik.

Tekintse meg a Databricks által felügyelt szolgáltatások díjszabását. Lásd: A prediktív optimalizálás nyomon követése rendszertáblákkal.

Előfeltételek

A prediktív optimalizálás használatához a következő követelményeknek kell teljesülniük:

  • Az Azure Databricks-munkaterületnek a Prémium csomagban kell lennie egy támogatott régióban.
  • Sql Warehouses vagy Databricks Runtime 12.2 LTS vagy újabb verziót kell használnia.
  • Csak a Unity Catalog által felügyelt táblák támogatottak.

Prediktív optimalizálás engedélyezése

Engedélyezheti a prediktív optimalizálást egy fiókhoz, katalógushoz, sémához vagy táblához. Alapértelmezés szerint minden Unity Catalog által felügyelt tábla örökli a fiók értékét. Felülbírálhatja a fiók alapértelmezett beállításait a katalógus, a séma vagy a tábla szintjén.

A prediktív optimalizálás engedélyezéséhez vagy letiltásához a következő jogosultságokkal kell rendelkeznie:

Unity Catalog-objektum Kiváltság
Számla Fiókadminisztrátor
Katalógus Katalógus tulajdonosa vagy a katalógusban jogosultsággal rendelkező MANAGE felhasználó
Séma Sématulajdonos vagy a sémán jogosultsággal rendelkező MANAGE felhasználó
Táblázat Táblatulajdonos vagy a táblán jogosultsággal rendelkező MANAGE felhasználó

A fiók prediktív optimalizálásának engedélyezése vagy letiltása

A fiókadminisztrátor a fiók összes metaadattára esetében engedélyezheti a prediktív optimalizálást. A katalógusok és sémák alapértelmezés szerint öröklik ezt a beállítást, de mindkét szinten felülbírálhatja.

  1. Lépjen a fiókkonzolra.
  2. Lépjen a Beállítások, majd a Funkció engedélyezése elemre.
  3. Válassza ki a prediktív optimalizálás mellett a kívánt beállítást (például engedélyezve).

Megjegyzés

  • A prediktív optimalizálást nem támogató régiókban lévő metaadattárak nincsenek engedélyezve.
  • A fiókszintű prediktív optimalizálás letiltása nem tiltja le azokat a katalógusokban vagy sémákban, amelyek kifejezetten engedélyezték azt.

Prediktív optimalizálás engedélyezése vagy letiltása katalógushoz, sémához vagy táblázathoz

A prediktív optimalizálás öröklési modellt használ. Ha egy katalógus engedélyezve van, a katalógus sémái öröklik a beállítást, és az engedélyezett sémán belüli táblák is öröklik azt. A viselkedés felülbírálásához explicit módon engedélyezheti vagy letilthatja a prediktív optimalizálást egy katalógushoz, sémához vagy táblához.

Megjegyzés

A fiók szintjén történő engedélyezés előtt letilthatja a prediktív optimalizálást a katalógus, séma vagy táblázat szintjén. Ha a fiók szintjén később engedélyezve van a prediktív optimalizálás, az kifejezetten letiltott objektumok esetében is le lesz tiltva.

A prediktív optimalizálás engedélyezéséhez, letiltásához vagy alaphelyzetbe állításához használja az alábbi szintaxist a szülőobjektum örökléséhez:

ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER TABLE table_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;

Lásd a(z) ALTER TABLE.

Ellenőrizze, hogy engedélyezve van-e a prediktív optimalizálás

A Predictive Optimization mező egy Unity Catalog tulajdonság, amely megmutatja, hogy engedélyezve van-e a prediktív optimalizálás. Ha a beállítás egy szülőobjektumtól öröklődik, a mező értéke ezt jelzi.

Az állapot ellenőrzéséhez használja az alábbi szintaxist:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Annak ellenőrzése, hogy a prediktív optimalizálás miért hagyott ki táblát

A Databricks Runtime 18 LTS-en és újabb verziókban, miután a prediktív optimalizálás kiértékelt egy felügyelt táblát, két módon ellenőrizheti, hogy egy művelet miért lett kihagyva:

  • A tábla lekérdezése a következővel DESCRIBE TABLE EXTENDED ... AS JSON: .
  • Használja az Előzmények lapot a Katalóguskezelőben.

Az eredmények megjelenése akár 24 órát is igénybe vehet.

Használja a DESCRIBE TABLE EXTENDED ... AS JSON-t

DESCRIBE TABLE EXTENDED ... AS JSON predictive_optimization_evaluations egy mezőt ad vissza a kimenetben. Ez a mező felsorolja az egyes művelettípusokat és a legutóbbi kiértékelési eredményeket.

Egy tábla kiértékelési eredményeinek ellenőrzéséhez futtassa a következőket:

DESCRIBE TABLE EXTENDED catalog_name.schema_name.table_name AS JSON

A predictive_optimization_evaluations mező az egyes művelettípusok legutóbbi eredményét jeleníti meg. Csak a legújabb értékelés jelenik meg előzmény nélkül. A művelettípusok a következők:

  • COMPACTION
  • CLUSTERING
  • AUTO_CLUSTERING_COLUMN_SELECTION
  • VACUUM

A kiértékelési kimenet nem jeleníti meg a műveletek kihagyási okait ANALYZE .

Az Előzmények lap használata a Katalóguskezelőben

A Katalógusböngészőben egy tábla Előzmények lapján tekintheti meg a kihagyás okait. A Műveletoszlopban az Automatikus címke azt jelzi, hogy a művelet futott, a Nem alkalmazott címke pedig azt jelzi, hogy a művelet kimaradt. Az automatikus címke prediktív optimalizálást és egyéb automatikus műveleteket is tartalmaz, például a streamelési automatikus tömörítést.

A kihagyás okának megtekintéséhez kattintson arra a sorra, amely a Művelet oszlopban a Nem alkalmazva címkét tartalmazza.

A Katalóguskezelő előzménylapja, amelyen a prediktív optimalizálás kihagyási okai láthatók

Az alábbi táblázat bemutatja, hogy a DESCRIBE TABLE EXTENDED kimenetben szereplő művelettípusok hogyan feleltethetők meg a Catalog Explorerben megjelenő műveleteknek:

DESCRIBE TABLE EXTENDED művelet típusa Katalóguskezelő művelet Leírás
COMPACTION OPTIMIZE Fájltömörítés a lekérdezési teljesítmény javítása érdekében
CLUSTERING OPTIMIZE Inkrementális folyadékalapú klaszterezés
AUTO_CLUSTERING_COLUMN_SELECTION AUTO LIQUID Rugalmas klaszterezési kulcsok kiértékelése vagy fejlődése
VACUUM VACUUM A tábla által már nem hivatkozott adatfájlok eltávolítása

Prediktív optimalizálás nyomon követése rendszertáblákkal

A Databricks rendszertáblát system.storage.predictive_optimization_operations_history biztosít a prediktív optimalizálási műveletek, költségek és hatások megfigyelhetőségéhez. Lásd a prediktív optimalizálási rendszer táblázatának hivatkozását.

Ha a rendszertábla sikertelenként FAILED: PRIVATE_LINK_SETUP_ERRORjelöli meg a műveleteket, előfordulhat, hogy a kiszolgáló nélküli privát kapcsolat nincs megfelelően konfigurálva. Lásd: Privát kapcsolat konfigurálása az Azure-erőforrásokhoz.

Korlátozások

A prediktív optimalizálás nem a következő táblázattípusokon fut:

  • A munkaterületre OpenSharing-címzettként betöltött táblák
  • Külső táblák