Condividi tramite


Ottimizzazione predittiva gestita per Unity Catalogtables

Nota

Per tutti gli account creati dopo il 11 novembre 2024, Databricks abilita l'ottimizzazione predittiva per impostazione predefinita.

L'ottimizzazione predittiva elimina la necessità di gestire manualmente le operazioni di manutenzione per Unity Catalogtables gestito in Azure Databricks.

Con l'ottimizzazione predittiva abilitata, Azure Databricks identifica automaticamente tables che trarrebbe vantaggio dalle operazioni di manutenzione e le esegue per l'utente. Le operazioni di manutenzione vengono eseguite solo se necessario, eliminando le esecuzioni non necessarie per le operazioni di manutenzione e il carico di lavoro associato al rilevamento e alla risoluzione dei problemi delle prestazioni.

Importante

L'ottimizzazione predittiva viene eseguita solo su Unity Catalog in ambiente gestito tables.

L'ottimizzazione predittiva non viene eseguita su streaming tables, su materiale views materializzato, creato in Databricks SQL, o tramite pipeline Delta Live Tables.

Quali operazioni vengono eseguite dall'ottimizzazione predittiva?

L'ottimizzazione predittiva esegue automaticamente le seguenti operazioni per tablesabilitate:

Operazione Descrizione
OPTIMIZE (1) Attiva il clustering incrementale per il tablesabilitato. Vedi Usa il clustering liquido per Delta tables.

Migliora le prestazioni delle query ottimizzando le dimensioni dei file. Consultare il layout del file dei dati Optimize.
VACUUM Riduce i costi di archiviazione eliminando i file di dati non più a cui fa riferimento il table. Vedere Remove file di dati inutilizzati con vacuum.
ANALYZE (2) Attiva l'incrementale update delle statistiche per migliorare le prestazioni delle query.

(1)OPTIMIZE non viene eseguito quando viene eseguito ZORDER con l'ottimizzazione predittiva.

(2) L'ottimizzazione predittiva con ANALYZE è disponibile in anteprima pubblica. Usare questo modulo per iscriversi all'anteprima pubblica. Durante l'anteprima pubblica iniziale, i comandi ANALYZE possono essere eseguiti su tables con 500 columns o meno.

Avviso

La conservazione window per il comando VACUUM è determinata dalla proprietà delta.deletedFileRetentionDurationtable, che per impostazione predefinita è di 7 giorni. Ciò significa che VACUUM rimuove i file di dati a cui non fa più riferimento una versione delta table negli ultimi 7 giorni. Se si desidera conservare i dati per più tempo (ad esempio per supportare il viaggio temporale per durate più lunghe), è necessario set questa proprietà table in modo appropriato prima di abilitare l'ottimizzazione predittiva, come nell'esempio seguente:

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

Where viene eseguita l'ottimizzazione predittiva?

L'ottimizzazione predittiva identifica tables che trarrebbe vantaggio dalle operazioni ANALYZE, OPTIMIZEe VACUUM e le accoda per l'esecuzione usando il calcolo serverless per i processi. L'account viene fatturato per il calcolo associato a questi carichi di lavoro usando uno SKU specifico per Databricks Managed Services. Vedere i prezzi per i servizi gestiti di Databricks. Azure Databricks offre il sistema tables per l'osservabilità delle operazioni di ottimizzazione predittiva, dei costi e dell'impatto. Consulta Usa il sistema tables per tenere traccia dell'ottimizzazione predittiva.

Prerequisiti per l'ottimizzazione predittiva

Per abilitare l'ottimizzazione predittiva, è necessario soddisfare i requisiti seguenti:

  • L'area di lavoro di Azure Databricks deve trovarsi nel piano Premium in un'area che supporta l'ottimizzazione predittiva. Vedere Aree di Azure Databricks.

  • È necessario usare SQL Warehouse o Databricks Runtime 12.2 LTS o versione successiva quando si abilita l'ottimizzazione predittiva.

  • Sono supportati solo i tables gestiti di Unity Catalog.

  • Se è necessaria la connettività privata per gli account di archiviazione, è necessario configurare la connettività privata serverless. Vedere Configurare la connettività privata dall’elaborazione serverless.

Abilitare l'ottimizzazione predittiva

È necessario abilitare l'ottimizzazione predittiva a livello di account.

Nota

Se l'account è stato creato dopo il 11 novembre 2024, l'ottimizzazione predittiva è abilitata per impostazione predefinita.

Per abilitare o disabilitare l'ottimizzazione predittiva a livello specificato, è necessario disporre dei privilegi seguenti:

Oggetto Catalog Unity Privilege
Conto Amministratore dell'account
Catalog Catalog proprietario
Schema Schema proprietario

Nota

Quando si abilita l'ottimizzazione predittiva per la prima volta, Azure Databricks crea automaticamente un'entità servizio nell'account Azure Databricks. Azure Databricks usa questa entità servizio per eseguire le operazioni di manutenzione richieste. Vedere Gestire le entità servizio.

Abilitare l'ottimizzazione predittiva per l'account

Un amministratore dell'account deve completare i passaggi seguenti per abilitare l'ottimizzazione predittiva per tutti i metastores in un account:

  1. Accedere alla console degli account.
  2. Passare a Impostazioni, quindi Abilitare la funzionalità.
  3. Select Abilitato accanto a Ottimizzazione predittiva.

Nota

Metastores non è abilitato nelle aree che non supportano l'ottimizzazione predittiva.

Abilitare o disabilitare l'ottimizzazione predittiva per un catalog o un schema

L'ottimizzazione predittiva usa un modello di ereditarietà. Se è abilitato per un catalog, gli schemi ereditano la proprietà. Tables all'interno di un schema abilitato eredita l'ottimizzazione predittiva. Per annullare questo comportamento ereditato, è possibile disabilitare in modo esplicito l'ottimizzazione predittiva per un catalog o schema.

Nota

È possibile disabilitare l'ottimizzazione predittiva a livello di catalog o schema prima di abilitarla a livello di account. Se, in un secondo momento, l'ottimizzazione predittiva viene abilitata sull'account, essa viene bloccata per tables in questi oggetti.

Usare la sintassi seguente per abilitare o disabilitare l'ottimizzazione predittiva:

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

Controllare se l'ottimizzazione predittiva è abilitata

Il campo Predictive Optimization è una proprietà Catalog unity che descrive in dettaglio se è abilitata l'ottimizzazione predittiva. Se l'ottimizzazione predittiva viene ereditata da un oggetto padre, questo valore è indicato nel valore del campo.

Importante

Per visualizzare questo campo, è necessario abilitare l'ottimizzazione predittiva a livello di account.

Usare la sintassi seguente per verificare se l'ottimizzazione predittiva è abilitata:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Usare il sistema tables per tenere traccia dell'ottimizzazione predittiva

Azure Databricks fornisce un sistema table per tenere traccia della storia delle operazioni di ottimizzazione predittiva. Consultare il sistema di ottimizzazione predittiva, riferimento table.

Se il sistema table contrassegna le operazioni come non riuscite con FAILED: PRIVATE_LINK_SETUP_ERROR, potrebbe non essere stato configurato correttamente il collegamento privato per il calcolo serverless. Vedere Configurare la connettività privata dall’elaborazione serverless.

Limiti

L'ottimizzazione predittiva non è disponibile in tutte le aree. Vedere Aree di Azure Databricks.

L'ottimizzazione predittiva non esegue comandi OPTIMIZE in tables che utilizzano l'ordinamento Z.

L'ottimizzazione predittiva non esegue operazioni VACUUM su tables con un window di conservazione dei file configurato al di sotto del valore predefinito di 7 giorni. Vedere Configurare la conservazione dei dati per le query di spostamento cronologico.

L'ottimizzazione predittiva non esegue operazioni di manutenzione nei tablesseguenti: