Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità è in versione beta. Gli amministratori dell'area di lavoro possono controllare l'accesso a questa funzionalità dalla pagina Anteprime . Vedere Gestire le anteprime di Azure Databricks.
Questa pagina descrive come usare la suddivisione per ottimizzare le prestazioni delle query nelle tabelle con dati semistrutturati nelle VARIANT colonne.
Vedi VARIANT tipo, supporto per il tipo Varia, e interrogare i dati del tipo Varia.
Che cos'è il processo di distruzione dati (shredding)?
Shredding migliora le prestazioni delle query sui dati VARIANT archiviando i campi comuni come colonne separate nei file Parquet. Questo processo riduce l'I/O necessario per leggere i campi e migliora la compressione usando un formato a colonne anziché un BLOB binario.
Requisiti
Databricks Runtime 17.2 o versione successiva è necessario per leggere e scrivere tabelle VARIANT suddivise.
Abilitare la cancellazione dati
Abilitare la suddivisione per l'intera area di lavoro tramite il portale di anteprima. Non sono necessarie modifiche al codice per leggere o scrivere VARIANT dati con frammentazione.
Dopo aver abilitato la funzionalità per l'area di lavoro, la suddivisione automatica viene abilitata per gli scenari seguenti:
-
CREATE TABLEcon una o piùVARIANTcolonne. -
CREATE AND REPLACE TABLEcon una o piùVARIANTcolonne. -
ALTER TABLEquando si aggiungono una o piùVARIANTcolonne.
Per le tabelle esistenti, è possibile acconsentire esplicitamente manualmente alla suddivisione impostando la enableVariantShredding proprietà table su TRUE e rifiutare esplicitamente impostando la proprietà su FALSE, a condizione che la suddivisione sia abilitata a livello di area di lavoro:
Tabella Delta
ALTER TABLE my_table SET TBLPROPERTIES ('delta.enableVariantShredding' = 'true');
Tabella Iceberg
ALTER TABLE my_table SET TBLPROPERTIES ('iceberg.enableVariantShredding' = 'true');
Verificare che lo shredding sia abilitato controllando che la proprietà enableVariantShredding della tabella sia impostata su true.
** Disattivare la cancellazione sicura per le scritture future per una tabella specifica
Se si abilita la versione beta di Shredding per l'area di lavoro, ma si desidera escludere una tabella specifica, impostare la proprietà della tabella enableVariantShredding.
Tabella Delta
ALTER TABLE my_table SET TBLPROPERTIES ('delta.enableVariantShredding' = 'false');
Tabella Iceberg
ALTER TABLE my_table SET TBLPROPERTIES ('iceberg.enableVariantShredding' = 'false');
Rimuovere la cancellazione da una tabella esistente
Per rimuovere la suddivisione in una tabella esistente, eliminare la funzionalità con il ALTER TABLE comando . Questa operazione sovrascrive anche i dati shredded direttamente nel formato VARIANT ricostruito e imposta la proprietà della tabella VARIANT su false.
ALTER TABLE my_table DROP FEATURE "variantShredding-preview";
Limitazioni
- La frammentazione dei dati introduce un sovraccarico nelle operazioni di scrittura.
- L'abilitazione dello shredding non converte automaticamente i dati esistenti
VARIANTin una tabella. Si applica solo ai dati scritti dopo l'abilitazione della funzionalità. Per riscrivere i dati esistentiVARIANT, usareREORG TABLE my_table APPLY (SHRED VARIANT). - Lo shredding si applica ai campi di primo livello
VARIANTo alle colonneVARIANTdegli struct, ad eccezione dei dati archiviati all'interno di matrici o mappeVARIANT.