Passa al contenuto principale
Prodotto

Aggiorna il tuo Lakehouse: la guida per la conversione in tabelle gestite di Unity Catalog

Converti da Tabelle Esterne UC a Tabelle Gestite UC per Accelerare le Query e Risparmiare sui Costi

di Elizabeth Bowman e Amit Vaswani

• Impara a convertire senza problemi le tabelle esterne di Unity Catalog (UC) in tabelle gestite da UC riducendo al minimo i tempi di inattività, mantenendo le configurazioni delle tabelle e preservando la cronologia delle tabelle
• Aumenta le prestazioni delle query di 20 volte, riduci i costi di oltre il 50% e sblocca funzionalità avanzate con le tabelle gestite da Unity Catalog
• Scopri come mantenere il controllo sulla posizione fisica dei tuoi dati, eseguire conversioni in blocco, gestire i rollback e pianificare il tuo percorso

Il nuovo comando SET MANAGED fornisce un meccanismo semplice per convertire tabelle esterne UC in tabelle UC managed minimizzando i tempi di inattività, gestendo scritture concorrenti, mantenendo le configurazioni delle tabelle e, ove possibile, preservando la cronologia delle tabelle. Questo articolo condivide le best practice e fornisce una guida passo passo per l'utilizzo di questo comando generalmente disponibile (GA):

Perché convertire in tabelle gestite UC?

Con Unity Catalog come fonte di verità, le tabelle gestite sbloccano funzionalità uniche che migliorano le prestazioni, governance e facilità d'uso, mantenendo l'interoperabilità e la portabilità.

I vantaggi principali includono:

  • Ottimizzazioni automatiche che possono aumentare le prestazioni delle query di 20 volte e ridurre i costi di archiviazione di oltre il 50% (maggiori dettagli qui).
  • Gestione dati semplificata con pulizia automatica dei dati eliminati per risparmiare sui costi, oltre al supporto per UNDROP.
  • Governance avanzata con lineage dei dati, controlli di accesso granulari e accesso sicuro alle tabelle con la supervisione di Unity Catalog su tutte le letture e scritture.
  • Una base per funzionalità future come l'eliminazione automatica delle righe (Auto-TTL) e l'ingestione a livello di riga (Zerobus ingest).
  • Interoperabilità: Le tabelle convertite supportano letture da qualsiasi client di terze parti (vedere qui per maggiori dettagli).

Come può aiutare il comando di conversione SET MANAGED?

Il comando SET MANAGED rende più facile la conversione da tabelle esterne a gestite

Funzionalità

Vantaggio del comando SET MANAGED

Minimizza i tempi di inattività

Mantieni la tabella online e disponibile per le letture utilizzando Databricks Runtime 16.1 o versioni successive e minimizza i tempi di inattività a pochi minuti per le scritture (o, per le letture su Databricks Runtime 15.4 o versioni precedenti).

Preserva l'identità

Il nome della tabella, i permessi, i tag e le impostazioni per tutte le tabelle, e la cronologia delle tabelle (per le tabelle Delta) vengono mantenuti.

Gestisce la concorrenza

Il comando SET MANAGED gestisce in modo sicuro le scritture concorrenti che possono verificarsi durante la conversione.

"Annulla" come misura di sicurezza

Un altro comando chiamato UNSET MANAGED consente di ripristinare una tabella convertita a UC esterna entro 14 giorni, come rete di sicurezza.

Come convertire da tabelle esterne a gestite?

Guida passo passo per la conversione per professionisti

Il comando SET MANAGED rende la conversione delle tabelle semplice. In una guida passo passo, abbiamo delineato suggerimenti chiave per garantire una transizione fluida da tabelle esterne a gestite.

Passaggio 1: Seleziona le tabelle esterne da convertire

Inizia selezionando un paio di tabelle esterne di Unity Catalog da convertire prima in UC managed, per familiarizzare il tuo team con il processo, i prerequisiti e i passaggi post-conversione.

Ad esempio, puoi provare prima questo comando su un paio di tabelle che vengono lette e scritte esclusivamente da client Databricks (vedi la sezione "Pianificazione di un percorso graduale" più avanti).

Passaggio 2: Checklist pre-volo

Verifica che il tuo ecosistema di lettori e scrittori di tabelle sia pronto al cambiamento. Per ogni tabella esterna UC selezionata e i relativi workload, dovrai:

  1. Aggiorna per utilizzare l'accesso basato sul nome: Controlla i tuoi job, notebook e query per assicurarti che accedano alla tabella utilizzando il suo nome in tre parti (catalogo.schema.tabella) anziché utilizzare l'accesso basato sul percorso (ad es. SELECT * FROM delta.'s3://percorso/alla/tabella'). Databricks Labs ha sviluppato strumenti UCX che possono aiutarti a trovare riferimenti basati sul percorso eseguendo il seguente Databricks Labs UCX lint-local-code da un terminale IDE, per analizzare il codice della directory della tua macchina locale (file .py o .sql).
    1. test123
    2. Il reindirizzamento basato sul percorso è anche disponibile per la gestione del codice legacy, se l'aggiornamento all'accesso basato sul nome non è possibile
  2. Annulla tutti i job di manutenzione: Per evitare conflitti, assicurati che nessun job OPTIMIZE, ZORDER o CLUSTER BY sia in esecuzione o programmato per essere eseguito sulla tabella durante il processo di conversione, se esistono (puoi verificarlo usando DESCRIBE HISTORY). Dopo la conversione, Predictive Optimization gestirà automaticamente i job di ottimizzazione.
  3. [Opzionale] Aggiorna le versioni di Databricks Runtime: Tutti i cluster Databricks che leggono o scrivono sulla tabella dovrebbero idealmente essere su Databricks Runtime 15.4 LTS o versioni successive per conservare la cronologia completa delle tabelle per le tabelle Delta. Databricks Runtime 16.1 o versioni successive possono eliminare completamente i tempi di inattività per i lettori.

Passaggio 3: Esegui il comando di conversione

Esegui la conversione utilizzando il seguente comando di conversione:

Nota: Per le tabelle con UniForm abilitato, usa SET MANAGED TRUNCATE UNIFORM HISTORY.

Passaggio 4: Verifica il risultato

Dopo che il comando è stato completato, conferma che la conversione sia avvenuta con successo controllando i metadati della tabella.

Nell'output di questo comando, la proprietà "Type" dovrebbe ora visualizzare "MANAGED". Puoi anche vedere queste stesse informazioni nella sezione "Informazioni su questa tabella" di Catalog Explorer.

Passaggio 5: Pulizia post-conversione

Dopo una conversione riuscita, completa questi passaggi finali per garantire una transizione fluida:

  • Riavvia i job di lettura o scrittura in streaming che utilizzano la tabella, se qualcuno si è fermato
  • Esegui test funzionali eseguendo query chiave per assicurarti che tutti i lettori e scrittori operino come previsto sulla tabella appena gestita
  • Conferma che l'ottimizzazione predittiva è ora abilitata per la tabella per iniziare a beneficiare della manutenzione automatizzata (puoi anche abilitare CLUSTER by AUTO, per il clustering liquido automatico, o controllare se è stato abilitato).
  • Pianificare un Percorso Scaglionato

    Una conversione di successo di tutte le tabelle in UC managed è un percorso: adottare un approccio graduale e pianificare in anticipo può aiutare a garantire una transizione agevole:

    1. Convertire le Tabelle Solo Databricks: Dare priorità alla conversione delle tabelle che vengono lette e scritte esclusivamente da client Databricks. Uno strumento sperimentale, Access Insights, può essere utilizzato per aiutare a identificare le tabelle con solo "lettori e scrittori Databricks" rispetto a "lettori non Databricks" o "scrittori non Databricks".
    2. Convertire le Tabelle con Strumenti Esterni Supportati: Determinare quali tabelle sono accessibili da strumenti di terze parti che supportano anche nativamente le letture da tabelle gestite da UC, e convertire queste successivamente. L'accesso di terze parti continuerà a funzionare dopo la conversione.
    3. Affrontare i Casi Complessi per Ultimi: Per le tabelle accessibili con strumenti legacy non supportati, pianificare l'uso di soluzioni come Modalità di Compatibilità per le letture. Dove sono necessarie scritture di terze parti, ricreare queste tabelle e abilitare le scritture su queste tabelle gestite da UC in Anteprima Anteprima.

    Considerazioni Aggiuntive

    I seguenti dettagli relativi al comando di conversione potrebbero essere utili da conoscere in anticipo:

    • Limite di Tempo per il Rollback: Per utilizzare la rete di sicurezza di rollback, è necessario eseguire UNSET MANAGED sulla tabella gestita da UC entro 14 giorni dalla conversione – dopodiché, i dati esterni originali verranno eliminati permanentemente per risparmiare sui costi di archiviazione.
    • Sfumature del Time Travel: L'aggiornamento dei client alla versione 15.4 LTS o superiore può essere utile. Per i cluster in esecuzione su Databricks Runtime 14.3 LTS o versioni precedenti o se si utilizza il comando UNSET MANAGED per eseguire il rollback, è possibile eseguire il time travel solo ai commit storici per numero di versione dopo la conversione, non per timestamp.
    • Minimizzazione dei Tempi di Inattività per gli Scrittori: Il comando è progettato per minimizzare i tempi di inattività – gli scrittori potrebbero riscontrare una breve interruzione (stimata tra 1 e 5 minuti) durante la fase finale, quando la posizione della tabella viene spostata nella nuova posizione gestita.
    • Interruzione Temporanea di Delta Sharing: Delta Sharing verrà temporaneamente interrotto durante la conversione, ma funzionerà correttamente di nuovo una volta completato il processo.

    Pro-Tip: Scalare con la Conversione in Blocco

    Per convertire centinaia o migliaia di tabelle esterne di Unity Catalog in blocco all'interno di uno schema specifico, è possibile utilizzare il seguente semplice script SQL.

    Nota: Questo script esegue modifiche in tempo reale. Si consiglia vivamente di testarlo a fondo in un ambiente di sviluppo prima di eseguirlo in produzione.

    Controllo della Posizione Fisica dei Tuoi Dati

    Tabelle gestite da Unified Catalog (UC) risiedono nello storage gestito dal cliente e sono accessibili tramite API di catalogo aperte. Se desideri un maggiore controllo su come i tuoi dati vengono archiviati fisicamente o segregare i tuoi dati, puoi definire una posizione di archiviazione gestita a livello di catalogo o schema – qualsiasi nuova tabella gestita creata in quel catalogo o schema sarà automaticamente organizzata in quella posizione specificata.

    Per le tabelle esterne preesistenti, è possibile impostare una posizione di archiviazione gestita, quindi utilizzare il comando SET MANAGED per convertirle in tabelle gestite da UC. Durante la conversione, il sistema rispetta la posizione gestita che hai definito, dandoti il controllo sulla disposizione fisica dei tuoi dati nell'archiviazione cloud. Contatta il tuo team di account per accedere a questa funzionalità in anteprima privata oggi stesso.

    Conversione da Tabelle Esterne a Gestite Oggi

    In pochi mesi dalla anteprima pubblica, centinaia di clienti hanno convertito con successo migliaia di tabelle con SET MANAGED.

    Tutto ciò che è descritto qui è ora GA – provalo oggi stesso e sblocca le prestazioni, la governance e la semplicità delle tabelle gestite da Unity Catalog.

    (Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

    Ricevi gli ultimi articoli nella tua casella di posta

    Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.