Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Deze systeemtabel bevindt zich in openbare preview.
Notitie
Als u toegang tot deze tabel wilt hebben, moet uw regio ondersteuning bieden voor voorspellende optimalisatie. Zie Azure Databricks regio's.
In dit artikel vindt u een overzicht van het schema van de tabel voor de bewerkingsgeschiedenis van voorspellende optimalisatie en vindt u voorbeeldquery's. Voorspellende optimalisatie optimaliseert uw gegevensindeling voor piekprestaties en kostenefficiëntie. De systeemtabel houdt de bewerkingsgeschiedenis van deze functie bij. Zie Voorspellende optimalisatie voor beheerde tabellen in Unity Catalog voor informatie over voorspellende optimalisatie.
Tabelpad: Deze systeemtabel bevindt zich op system.storage.predictive_optimization_operations_history.
Overwegingen voor levering
- De systeemtabel voor voorspellende optimalisatie wordt binnen twee uur bijgewerkt. Het kan echter tot 24 uur duren voordat de facturatiegegevens in de data verschijnen.
- Voorspellende optimalisatie kan meerdere bewerkingen uitvoeren op hetzelfde cluster. Als dat zo is, wordt het aandeel van DBU's dat aan elk van de verschillende bewerkingen wordt toegeschreven, geschat. Daarom is de
usage_unitingesteld opESTIMATED_DBU. Toch is het totale aantal DBU's dat aan het cluster is besteed, nauwkeurig.
Schema voor voorspellende optimalisatietabellen
De systeemtabel voor de bewerkingsgeschiedenis van voorspellende optimalisatie maakt gebruik van het volgende schema:
| Kolomnaam | Gegevenstype | Beschrijving | Voorbeeld |
|---|---|---|---|
account_id |
tekenreeks | Id van het account. | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
tekenreeks | De id van de werkruimte waarin voorspellende optimalisatie de bewerking heeft uitgevoerd. | 1234567890123456 |
start_time |
tijdstempel | Het tijdstip waarop de bewerking is gestart. Tijdzone-informatie wordt vastgelegd aan het einde van de waarde, waarbij +00:00 UTC vertegenwoordigt. |
2023-01-09 10:00:00.000+00:00 |
end_time |
tijdstempel | Het tijdstip waarop de bewerking is beëindigd. Tijdzone-informatie wordt vastgelegd aan het einde van de waarde, waarbij +00:00 UTC vertegenwoordigt. |
2023-01-09 11:00:00.000+00:00 |
metastore_name |
tekenreeks | De naam van de metastore waartoe de geoptimaliseerde tabel behoort. | metastore |
metastore_id |
tekenreeks | De id van de metastore waartoe de geoptimaliseerde tabel behoort. | 5a31ba44-bbf4-4174-bf33-e1fa078e6765 |
catalog_name |
tekenreeks | De naam van de catalogus waartoe de geoptimaliseerde tabel behoort. | catalog |
schema_name |
tekenreeks | De naam van het schema waartoe de geoptimaliseerde tabel behoort. | schema |
table_id |
tekenreeks | De id van de geoptimaliseerde tabel. | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
tekenreeks | De naam van de geoptimaliseerde tabel. | table1 |
operation_type |
tekenreeks | De optimalisatiebewerking is uitgevoerd. Moet een van de volgende waarden zijn: COMPACTION, , VACUUMANALYZE, CLUSTERING, , AUTO_CLUSTERING_COLUMN_SELECTION, , of DATA_SKIPPING_COLUMN_SELECTIONCOMPATIBILITY_MODE_REFRESH. |
COMPACTION |
operation_id |
tekenreeks | De id voor de optimalisatiebewerking. | 4dad1136-6a8f-418f-8234-6855cfaff18f |
operation_status |
tekenreeks | De status van de optimalisatiebewerking. Moet een van de volgende waarden zijn: SUCCESSFUL of FAILED: INTERNAL_ERROR. |
SUCCESSFUL |
operation_metrics |
map[tekenreeks, tekenreeks] | Aanvullende informatie over de specifieke optimalisatie die is uitgevoerd. Zie Operationele statistieken. | {"number_of_output_files":"100","number_of_compacted_files":"1000","amount_of_output_data_bytes":"4000","amount_of_data_compacted_bytes":"10000"} |
usage_unit |
tekenreeks | De gebruikseenheid die aan deze bewerking is toegekend. Moet de volgende waarde zijn: ESTIMATED_DBU. |
ESTIMATED_DBU |
usage_quantity |
decimaal | De hoeveelheid gebruikseenheid die door deze bewerking is gebruikt. | 2.12 |
Operationele kengetallen
De metrische gegevens die in de kolom operation_metrics zijn vastgelegd, variëren afhankelijk van het bewerkingstype:
| Bewerkingsnaam | Beschrijving van bewerking | Metrische gegevens over bewerkingen | Beschrijving |
|---|---|---|---|
COMPACTION |
Verbetert de queryprestaties door de bestandsgrootten te optimaliseren. Zie Indeling van gegevensbestand optimaliseren. | number_of_compacted_files |
Het aantal bestanden dat door deze bewerking is verwijderd. |
amount_of_data_compacted_bytes |
Hoeveelheid bytes verwijderd door deze bewerking. | ||
number_of_output_files |
Het aantal nieuwe bestanden dat door deze bewerking is toegevoegd. | ||
amount_of_output_data_bytes |
Het aantal bytes dat door deze bewerking is toegevoegd. | ||
VACUUM |
Vermindert de opslagkosten door gegevensbestanden te verwijderen waarnaar niet meer wordt verwezen door de tabel. Zie Ongebruikte gegevensbestanden verwijderen met vacuüm. | number_of_deleted_files |
Aantal bestanden garbage verzameld door deze bewerking. |
amount_of_data_deleted_bytes |
Hoeveelheid bytes garbage verzameld door deze bewerking. | ||
ANALYZE |
Activeert incrementele update van statistieken om de queryprestaties te verbeteren. Zie ANALYZE TABLE. | amount_of_scanned_bytes |
Het aantal bytes dat door deze bewerking is gescand. |
number_of_scanned_files |
Het aantal bestanden dat door deze bewerking is gescand. | ||
staleness_percentage_reduced |
Vermindering van het verouderingspercentage na deze bewerking. Deze statistiek kan variëren van 0 tot 100 op basis van de frequentie die ANALYZE wordt uitgevoerd. |
||
CLUSTERING |
Triggert stapsgewijze clustering van ingeschakelde tabellen. Zie Liquid Clustering gebruiken voor tabellen. | number_of_removed_files |
Het aantal bestanden dat door deze bewerking is verwijderd. |
number_of_clustered_files |
Het aantal nieuwe bestanden dat door deze bewerking is toegevoegd. | ||
amount_of_data_removed_bytes |
Hoeveelheid bytes verwijderd door deze bewerking. | ||
amount_of_clustered_data_bytes |
Het aantal bytes dat door deze bewerking is toegevoegd. | ||
AUTO_CLUSTERING_COLUMN_SELECTION |
Evalueert of u clusteringkolommen wilt ontwikkelen. Zie Automatische vloeistofclustering. | old_clustering_columns |
Vorige gegevensstructuur, die oude clusteringsleutels kan zijn of 'None' indien deze niet is gepartitioneerd. |
new_clustering_columns |
Nieuwe clusteringkolommen die door deze bewerking worden toegepast. | ||
has_column_selection_changed |
Of de clusterkolommen door deze bewerking geëvolueerd zijn. | ||
additional_reason |
Redenen voor de wijziging of geen wijziging in clusterkolommen. | ||
DATA_SKIPPING_COLUMN_SELECTION |
Detecteert kolommen met ontbrekende gegevens, waarbij statistieken uit werkbelastinggegevens worden overgeslagen en vult deze vervolgens aan. Zie Gegevens overslaan. | amount_of_scanned_bytes |
Het aantal bytes dat door deze bewerking is gescand. |
number_of_scanned_files |
Het aantal bestanden dat door deze bewerking is gescand. | ||
added_data_skipping_columns |
Kolommen voor het overslaan van gegevens die door deze bewerking zijn toegevoegd. | ||
removed_data_skipping_columns |
Kolommen voor gegevensoverslaan die door deze bewerking zijn verwijderd. | ||
old_data_skipping_columns |
Vorige uitgebreide lijst van kolommen die gegevens overslaan. | ||
new_data_skipping_columns |
Huidige uitgebreide lijst met kolommen voor het overslaan van gegevens. | ||
COMPATIBILITY_MODE_REFRESH |
Hiermee wordt gedetecteerd of de compatibiliteitsmodus verouderd is en wordt de tabel vernieuwd. Zie de compatibiliteitsmodus. | N/A | Vernieuwingsbewerkingen in de compatibiliteitsmodus. |
Voorbeeldqueries
De volgende secties bevatten voorbeeldquery's die u kunt gebruiken om inzicht te krijgen in de tabel van het voorspellend optimalisatiesysteem. Voordat deze query's werken, moet u de parameterwaarden vervangen door uw eigen waarden.
Dit artikel bevat de volgende voorbeeldquery's:
- Hoeveel geschatte DBU's hebben voorspellende optimalisatie gebruikt in de afgelopen 30 dagen?
- Op welke tabellen heeft voorspellende optimalisatie de meeste kosten besteed in de afgelopen 30 dagen (geschatte kosten)?
- Op welke tabellen worden voorspellende optimalisaties uitgevoerd voor de meeste bewerkingen?
- Hoeveel totale bytes zijn voor een bepaalde catalogus gecomprimeerd?
- Welke tabellen hadden de meeste bytes gevacumeerd?
- Wat is het slagingspercentage voor bewerkingen die worden uitgevoerd door voorspellende optimalisatie?
Hoeveel geschatte DBU's hebben voorspellende optimalisatie gebruikt in de afgelopen 30 dagen?
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
usage_unit = "ESTIMATED_DBU"
AND timestampdiff(day, start_time, Now()) < 30;
Als u dezelfde waarde voor een specifieke ETL-pijplijn wilt vinden, kunt u eerst de tabellen in die pijplijn vinden en vervolgens zoeken naar de DBU's:
-- 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;
Op welke tabellen is voorspellende optimalisatie de afgelopen 30 dagen (geschatte kosten) het meest besteed?
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;
Op welke tabellen worden de meeste bewerkingen uitgevoerd door voorspellende optimalisatie?
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;
Voor een bepaalde catalogus hoeveel totaal aantal bytes zijn gecomprimeerd?
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;
Welke tabellen hadden de meeste bytes leeggezogen?
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;
Wat is het slagingspercentage voor bewerkingen die worden uitgevoerd door voorspellende optimalisatie?
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;