Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
Ez a rendszertábla a nyilvános előzetes verzióban van.
Feljegyzés
A táblához való hozzáféréshez a régiónak támogatnia kell a prediktív optimalizálást. Tekintse meg az Azure Databricks-régiókat.
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. További információért a prediktív optimalizálásról nézze meg a(z) Unity Catalog által felügyelt táblák prediktív optimalizálása.
tábla elérési útja: Ez a rendszertábla a system.storage.predictive_optimization_operations_historytalálható.
Kézbesítési szempontok
- A prediktív optimalizálási rendszer táblázata két órán belül frissül. A számlázási adatok feltöltése azonban 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 DBU-k aránya körülbelüli. Ezért van beállítva a
usage_unitaESTIMATED_DBU-re. Ennek ellenére a klaszterre költött DBU-k 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 |
karakterlánc | A fiók azonosítója. | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
karakterlánc | Annak a munkaterületnek az azonosítója, amelyben a prediktív optimalizálás futtatta a műveletet. | 1234567890123456 |
start_time |
timestamp | 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, és +00:00 UTC-t jelöl. |
2023-01-09 10:00:00.000+00:00 |
end_time |
timestamp | 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, és +00:00 UTC-t jelöl. |
2023-01-09 11:00:00.000+00:00 |
metastore_name |
karakterlánc | Annak a metaadattárnak a neve, amelyhez az optimalizált tábla tartozik. | metastore |
metastore_id |
karakterlánc | Annak a metaadattárnak az azonosítója, amelyhez az optimalizált tábla tartozik. | 5a31ba44-bbf4-4174-bf33-e1fa078e6765 |
catalog_name |
karakterlánc | Annak a katalógusnak a neve, amelyhez az optimalizált tábla tartozik. | catalog |
schema_name |
karakterlánc | Annak a sémának a neve, amelyhez az optimalizált tábla tartozik. | schema |
table_id |
karakterlánc | Az optimalizált tábla azonosítója. | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
karakterlánc | Az optimalizált tábla neve. | table1 |
operation_type |
karakterlánc | A végrehajtott optimalizálási művelet. A következő értékek egyikének kell lennie: COMPACTION, VACUUM, ANALYZE, CLUSTERING, AUTO_CLUSTERING_COLUMN_SELECTION, , DATA_SKIPPING_COLUMN_SELECTIONvagy COMPATIBILITY_MODE_REFRESH. |
COMPACTION |
operation_id |
karakterlánc | Az optimalizálási művelet azonosítója. | 4dad1136-6a8f-418f-8234-6855cfaff18f |
operation_status |
karakterlánc | Az optimalizálási művelet állapota. A következő értékek egyikének kell lennie: SUCCESSFUL, FAILED: INTERNAL_ERROR, FAILED: AUTO_TTL_COLUMN_DOES_NOT_EXIST_ERRORvagy FAILED: PRIVATE_LINK_SETUP_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 |
karakterlánc | Az a használati egység, amelyet ez a művelet felmerített. A következő értéknek kell lennie: ESTIMATED_DBU. |
ESTIMATED_DBU |
usage_quantity |
decimális | A művelet által használt használati egység mennyisége. | 2.12 |
Műveleti metrikák
A operation_metrics oszlopban rögzített metrikák a művelet típusától függően változnak:
| Művelet neve | Művelet leírása | Műveleti metrikák | Leírás |
|---|---|---|---|
COMPACTION |
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. | number_of_compacted_files |
A művelet által eltávolított fájlok száma. |
amount_of_data_compacted_bytes |
A művelet által eltávolított bájtok mennyisége. | ||
number_of_output_files |
A művelet által hozzáadott új fájlok száma. | ||
amount_of_output_data_bytes |
A művelet által hozzáadott bájtok mennyisége. | ||
VACUUM |
Csökkenti a tárolási költségeket a tábla által már nem hivatkozott adatfájlok törlésével. Lásd: A nem használt adatfájlok eltávolítása vákuummal. | number_of_deleted_files |
A művelet által szemétgyűjtés során eltávolított fájlok száma. |
amount_of_data_deleted_bytes |
A művelet által összegyűjtött bájtok mennyisége. | ||
ANALYZE |
A lekérdezési teljesítmény javítása érdekében elindítja a statisztikák növekményes frissítését. Lásd:ANALYZE TABLE ... SZÁMÍTÁSI STATISZTIKÁK. | amount_of_scanned_bytes |
A művelet által beolvasott bájtok mennyisége. |
number_of_scanned_files |
A művelet által beolvasott fájlok száma. | ||
staleness_percentage_reduced |
Az elavultsági százalék csökkenése a művelet után. Ez a statisztika a futtatás gyakorisága ANALYZE alapján 0 és 100 közötti lehet. |
||
CLUSTERING |
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. | number_of_removed_files |
A művelet által eltávolított fájlok száma. |
number_of_clustered_files |
A művelet által hozzáadott új fájlok száma. | ||
amount_of_data_removed_bytes |
A művelet által eltávolított bájtok mennyisége. | ||
amount_of_clustered_data_bytes |
A művelet által hozzáadott bájtok mennyisége. | ||
AUTO_CLUSTERING_COLUMN_SELECTION |
Kiértékeli, hogy fejleszt-e fürtözési oszlopokat. Lásd: Automatikus folyadékfürtözés. | old_clustering_columns |
Korábbi adatelrendezés, amely lehet régi fürtözési kulcs vagy "Nincs", ha nincs particionálva. |
new_clustering_columns |
A művelet által alkalmazott új klaszterezési oszlopok. | ||
has_column_selection_changed |
Azt jelzi, hogy ez a művelet továbbfejlesztette-e a fürtözési oszlopokat. | ||
additional_reason |
A fürtoszlopok változásának vagy változatlanságának okai. | ||
DATA_SKIPPING_COLUMN_SELECTION |
Észleli azokat az oszlopokat, amelyekben hiányoznak az adatok, kihagyja a terhelési statisztikákat, és visszatölti azokat. Lásd Adatkihagyás. | amount_of_scanned_bytes |
A művelet által beolvasott bájtok mennyisége. |
number_of_scanned_files |
A művelet által beolvasott fájlok száma. | ||
added_data_skipping_columns |
Az újonnan hozzáadott adatkizáró oszlopok, amelyeket ez a művelet alkalmazott. | ||
removed_data_skipping_columns |
Az adatkihagyó oszlopokat ez a művelet távolította el. | ||
old_data_skipping_columns |
Az adatkihagyó oszlopok korábbi teljes listája. | ||
new_data_skipping_columns |
Az adat kihagyás oszlopainak teljes és aktuális listája. | ||
COMPATIBILITY_MODE_REFRESH |
Észleli, hogy a kompatibilitási mód elavult-e, és frissíti a táblát. Lásd : Kompatibilitási mód. | N/A | Kompatibilitási mód frissítési műveletei. |
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 paraméterértékeket a saját értékeire kell cserélnie.
Ez a cikk a következő példa lekérdezéseket tartalmazza:
- Az elmúlt 30 napban hány becsült DBU-t használt a prediktív optimalizálás?
- 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)?
- Mely táblákon végzi a legtöbb műveletet a prediktív optimalizálás?
- Egy adott katalógus esetében hány bájt lett tömörítve?
- Melyik táblákban volt a legtöbb bájt porszívózva?
- Mi a prediktív optimalizálás által futtatott műveletek sikerességi aránya?
Hány becsült dbU-t használtak prediktív optimalizálás során 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;
Ha ugyanazt az értéket szeretné megtalálni egy adott ETL-folyamathoz, először megkeresheti a táblákat a folyamatban, majd megkeresheti a dbU-kat:
-- Find all full table names for the pipeline:
WITH pipeline_mapping AS (
SELECT DISTINCT target_table_full_name AS target_table_name
FROM system.access.table_lineage
WHERE entity_type = 'PIPELINE' AND entity_id = :pipeline_id
)
-- Select all operations for any table in that pipeline:
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
CONCAT_WS('.', catalog_name, schema_name, table_name)
IN ( SELECT target_table_name FROM pipeline_mapping)
AND 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 végzi 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ás által 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;