Megosztás a következőn keresztül:


Prediktív optimalizálási rendszer táblareferenciája

Fontos

Ez a rendszertábla nyilvános előzetes verzióban érhető el. A táblázat eléréséhez engedélyezni kell a sémát a system katalógusban. További információ: Rendszertábla-sémák engedélyezése.

Feljegyzés

A táblázathoz való hozzáféréshez engedélyeznie kell a storage sémát (lásd : Rendszertáblaséma engedélyezése), és a régiónak támogatnia kell a prediktív optimalizálást (lásd: Azure Databricks-régiók).

Ez a cikk ismerteti a prediktív optimalizálási művelet előzménytáblájának sémáját, és minta lekérdezéseket biztosít. A prediktív optimalizálás optimalizálja az adatelrendezést a csúcsteljesítmény és a költséghatékonyság érdekében. A rendszertábla nyomon követi ennek a funkciónak a műveleti előzményeit. A prediktív optimalizálásról további információt a Unity Catalog által felügyelt táblák prediktív optimalizálása című témakörben talál.

Táblázat elérési útja: Ez a rendszertábla a következő helyen system.storage.predictive_optimization_operations_historytalálható: .

Kézbesítési szempontok

  • Az adatok feltöltése akár 24 órát is igénybe vehet.
  • A prediktív optimalizálás több műveletet is futtathat ugyanazon a fürtön. Ha igen, akkor a több művelet mindegyikéhez hozzárendelt ADATBÁZIS-egységek aránya hozzávetőleges. Ezért van beállítva a usage_unit beállítás ESTIMATED_DBU. Ennek ellenére a fürtre költött adatbázis-egységek teljes száma pontos lesz.

Prediktív optimalizálási táblaséma

A prediktív optimalizálási műveletelőzmények rendszertáblája a következő sémát használja:

Oszlop neve Adattípus Leírás Példa
account_id húr A fiók azonosítója. 11e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id húr Annak a munkaterületnek az azonosítója, amelyben a prediktív optimalizálás futtatta a műveletet. 1234567890123456
start_time időbélyeg A művelet indításának időpontja. Az időzónára vonatkozó adatokat az érték végén rögzíti a rendszer az UTC-nek +00:00 megfelelően. 2023-01-09 10:00:00.000+00:00
end_time időbélyeg A művelet befejezésének időpontja. Az időzónára vonatkozó adatokat az érték végén rögzíti a rendszer az UTC-nek +00:00 megfelelően. 2023-01-09 11:00:00.000+00:00
metastore_name húr Annak a metaadattárnak a neve, amelyhez az optimalizált tábla tartozik. metastore
catalog_name húr Annak a katalógusnak a neve, amelyhez az optimalizált tábla tartozik. catalog
schema_name húr Annak a sémának a neve, amelyhez az optimalizált tábla tartozik. schema
table_id húr Az optimalizált tábla azonosítója. 138ebb4b-3757-41bb-9e18-52b38d3d2836
table_name húr Az optimalizált tábla neve. table1
operation_type húr A végrehajtott optimalizálási művelet. Az érték a következő lesz COMPACTION: , VACUUMvagy CLUSTERING. COMPACTION
operation_id húr Az optimalizálási művelet azonosítója. 4dad1136-6a8f-418f-8234-6855cfaff18f
operation_status húr Az optimalizálási művelet állapota. Az érték a következő lesz: SUCCESSFUL vagy FAILED: INTERNAL_ERROR. SUCCESSFUL
operation_metrics map[sztring; sztring] További részletek a végrehajtott optimalizálásról. Lásd a műveleti metrikákat. {"number_of_output_files":"100","number_of_compacted_files":"1000","amount_of_output_data_bytes":"4000","amount_of_data_compacted_bytes":"10000"}
usage_unit húr A művelet által okozott használati egység. Csak egy érték lehet: ESTIMATED_DBU. ESTIMATED_DBU
usage_quantity tizedes A művelet által használt használati egység mennyisége. 2.12

Műveleti metrikák

Az oszlopban operation_metrics rögzített metrikák a művelet típusától függően változnak:

  • COMPACTION: number_of_compacted_files, amount_of_data_compacted_bytes, number_of_output_filesamount_of_output_data_bytes
  • VACUUM: number_of_deleted_files, amount_of_data_deleted_bytes
  • CLUSTERING: number_of_removed_files, number_of_clustered_files, amount_of_data_removed_bytesamount_of_clustered_data_bytes

Példa a lekérdezésekre

A következő szakaszok minta lekérdezéseket tartalmaznak, a segítségével betekintést nyerhet a prediktív optimalizálási rendszer táblájába. Ahhoz, hogy ezek a lekérdezések működjenek, a kapcsos zárójelekben lévő értékeket {{}} a saját paramétereire kell cserélnie.

Ez a cikk a következő példa lekérdezéseket tartalmazza:

Hány becsült dbU-t használnak prediktív optimalizálással az elmúlt 30 napban?

SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
     usage_unit = "ESTIMATED_DBU"
     AND  timestampdiff(day, start_time, Now()) < 30

Mely táblákon költötte a legtöbbet a prediktív optimalizálás az elmúlt 30 napban (becsült költség)?

SELECT
     metastore_name,
     catalog_name,
     schema_name,
     table_name,
     SUM(usage_quantity) as totalDbus
FROM system.storage.predictive_optimization_operations_history
WHERE
    usage_unit = "ESTIMATED_DBU"
    AND timestampdiff(day, start_time, Now()) < 30
GROUP BY ALL
ORDER BY totalDbus DESC

Mely táblákon hajtja végre a legtöbb műveletet a prediktív optimalizálás?

SELECT
     metastore_name,
     catalog_name,
     schema_name,
     table_name,
     operation_type,
     COUNT(DISTINCT operation_id) as operations
FROM system.storage.predictive_optimization_operations_history
GROUP BY ALL
ORDER BY operations DESC

Egy adott katalógus esetében hány bájt lett tömörítve?

SELECT
     schema_name,
     table_name,
     SUM(operation_metrics["amount_of_data_compacted_bytes"]) as bytesCompacted
FROM system.storage.predictive_optimization_operations_history
WHERE
    metastore_name = {{metastore_name}}
    AND catalog_name = {{catalog_name}}
    AND operation_type = "COMPACTION"
GROUP BY ALL
ORDER BY bytesCompacted DESC

Melyik táblákban volt a legtöbb bájt porszívózva?

SELECT
     metastore_name,
     catalog_name,
     schema_name,
     table_name,
     SUM(operation_metrics["amount_of_data_deleted_bytes"]) as bytesVacuumed
FROM system.storage.predictive_optimization_operations_history
WHERE operation_type = "VACUUM"
GROUP BY ALL
ORDER BY bytesVacuumed DESC

Mi a prediktív optimalizálással futtatott műveletek sikerességi aránya?

WITH operation_counts AS (
     SELECT
           COUNT(DISTINCT (CASE WHEN operation_status = "SUCCESSFUL" THEN operation_id END)) as successes,
           COUNT(DISTINCT operation_id) as total_operations
    FROM system.storage.predictive_optimization_operations_history
 )
SELECT successes / total_operations as success_rate
FROM operation_counts