Lakehouse in tempo reale

Importante

Questa funzionalità è in versione beta. Contatta il team del tuo account Databricks per abilitare questa funzionalità nel tuo account.

Lakehouse//RT è in fase di sviluppo attivo. Le caratteristiche delle prestazioni e il set di funzionalità supportato cambieranno prima della disponibilità generale.

Lakehouse Real-Time (Lakehouse//RT) è un ambiente di calcolo serverless creato per casi d'uso a bassa latenza e concorrenza elevata, ad esempio la gestione di dati analitici in applicazioni personalizzate, l'esecuzione di analisi operative o la potenza dei dashboard di BI che richiedono risposte secondarie per centinaia a migliaia di utenti simultanei.

Lakehouse//RT offre una latenza inferiore al secondo per le query SQL di lettura sulle tabelle di Unity Catalog che utilizzano i formati Delta Lake o Apache Iceberg nell'archiviazione cloud. È possibile creare e gestire Lakehouse//RT in modo analogo ad altri warehouse SQL. Un amministratore dell'area di lavoro o un utente con privilegi crea uno o più per area di lavoro e assegna le autorizzazioni agli utenti.

Requisiti

Per usare Lakehouse//RT, è necessario:

  • Trovarsi in un'area supportata.
  • Abilitare la versione beta Lakehouse/RT nell'area di lavoro.

Abilitare Lakehouse//RT nell'area di lavoro

Gli amministratori dell'area di lavoro possono abilitare la versione beta Lakehouse//RT nell'area di lavoro:

  1. Nel menu dell'area di lavoro (in alto a destra), vai a Anteprime.
  2. Cerca Lakehouse RT.
  3. Abilitare l'anteprima.

Dopo aver abilitato l'anteprima, il tipo di warehouse in tempo reale diventa disponibile nel flusso di creazione di SQL Warehouse per l'area di lavoro.

Crea un warehouse Lakehouse//RT

Per creare un warehouse Lakehouse//RT:

  1. Vai a Compute>SQL Warehouses>Create SQL Warehouse.
  2. Selezionare In tempo reale.
  3. Seleziona una dimensione della query: Piccola, Media, Grande o X-Grande, a seconda delle prestazioni richieste dalle tue query.
  4. Configura l'Autoscaling per determinare il numero massimo di DBU che puoi addebitare all'ora.
  5. Imposta l'arresto automatico per controllare quando un magazzino inattivo si ferma.
  6. Immettere un nome per il magazzino.
  7. Clicca su Crea.

Per assegnare le autorizzazioni, concedi Can use, Can monitor o Can manage a utenti e gruppi, come per un warehouse SQL.

Note

Non è attualmente possibile aggiornare un data warehouse SQL esistente a Lakehouse//RT o effettuare il downgrade di un warehouse Lakehouse//RT esistente a un altro tipo di warehouse.

Dimensioni e scala di un magazzino Lakehouse//RT

Lakehouse//RT ha impostazioni che controllano prestazioni e costi:

  • La dimensione della query controlla il calcolo disponibile per una singola query.
  • Il ridimensionamento automatico controlla quanto il data warehouse viene ampliato per gestire query simultanee.
  • Arresto automatico determina per quanto tempo un warehouse inattivo continua a essere eseguito prima di arrestarsi.

La dimensione delle query e l'autoscaling funzionano in modo diverso rispetto alle impostazioni di dimensionamento e scalabilità di un server less SQL warehouse.

Dimensione della query

La dimensione della query stabilisce il calcolo massimo che una singola query può utilizzare, che determina quanto velocemente può essere eseguita una singola query. Stabilisce anche il calcolo minimo su cui funziona il magazzino e il minimo per cui vieni fatturato mentre il magazzino è attivo.

Imposti la dimensione della query al momento della creazione del data warehouse. Scegli piccolo, medio, grande o x-grande. Una dimensione maggiore offre a ogni query più calcolo per risultati più rapidi, a un costo minimo più elevato.

Questa impostazione è concettualmente simile alla dimensione di un data warehouse SQL serverless, che determina anche le risorse di calcolo disponibili per una singola query.

Autoscaling

L'autoscaling consente a un warehouse di aggiungere risorse di calcolo per gestire un maggior numero di query simultanee, per poi rilasciarle quando la domanda diminuisce. Imposti la capacità di calcolo massima fino a cui il warehouse può aumentare, misurata in DBU.

L'autoscaling su Lakehouse//RT è diverso dalla scalabilità del cluster in un SQL warehouse serverless per alcuni aspetti:

  • Si misura in DBU, non in cluster.
  • Il massimo è indipendente dalla dimensione della query. Puoi abbinare una dimensione di query piccola a un massimo alto per ottenere una maggiore concorrenza senza dare a ogni query più calcolo.
  • L'autoscaling di Lakehouse//RT aggiunge e rimuove solo la capacità di calcolo necessaria, anziché per incrementi di cluster.

Per vedere quanto sta scalando un magazzino, usa la sua pagina di monitoraggio.

Arresto automatico

L'arresto automatico arresta il warehouse dopo un determinato numero di minuti di inattività, così un warehouse inattivo non continua ad accumulare costi. Imposti il timeout di inattività al momento della creazione del warehouse.

L'arresto automatico in Lakehouse//RT funziona allo stesso modo di un warehouse SQL serverless. Per i valori predefiniti e minimi, vedi Configura le impostazioni del warehouse SQL.

Monitorare l'attività Lakehouse//RT

È possibile monitorare le query Lakehouse//RT allo stesso modo di qualsiasi altra query eseguita su un SQL warehouse:

Procedure consigliate

Per ottenere i risultati migliori da Lakehouse//RT, preparare i carichi di lavoro prima di spostarli:

  • Convalida prima in SQL serverless. Eseguite le query su un SQL warehouse serverless e confermate che vengano eseguite in pochi secondi.
  • Usare le tabelle gestite di Unity Catalog. Le tabelle gestite con ottimizzazione predittiva e clustering liquido assicurano che i dati siano ben raggruppati per i modelli di carico di lavoro.
  • Verificare che le query siano selettive. Per una latenza inferiore al secondo, verificate che le query scansionino quantità minori di dati. Filtrare in anticipo con clausole WHERE, selezionare solo le colonne necessarie e fare affidamento sulle aggregazioni. L'unione tra tabelle è supportata, ma se la query diventa complessa o lenta, è consigliabile usare viste materializzate che preaggregino i dati per latenze più veloci.
  • Verificare la copertura SQL. Lakehouse//RT supporta solo query di lettura conformi ad ANSI. Verificare che i carichi di lavoro siano conformi ad ANSI ed evitare le istruzioni, le funzioni e i tipi di dati non supportati elencati in Limitazioni.

Funzionalità supportate

Strumenti e interfacce

È possibile selezionare Lakehouse//RT dal selettore di calcolo in una delle funzionalità di Azure Databricks seguenti:

  • Editor di SQL
  • Notebook SQL
  • Dashboard di intelligenza artificiale/BI
  • Esploratore di cataloghi
  • Alerts

Per costruire dashboard AI/BI su un warehouse Lakehouse//RT, incluse le misure di salvaguardia e le limitazioni specifiche per dashboard, consulta Usa Lakehouse Real-Time con dashboard AI/BI.

Tipi di tabella

Lakehouse//RT interroga solo i dati di Unity Catalog. Per ottenere prestazioni ottimali, usare le tabelle gestite di Unity Catalog, che forniscono al motore il layout dei dati necessario per una bassa latenza.

Lakehouse//RT supporta i tipi di tabella seguenti:

  • Tabelle gestite (tabelle Delta Lake e Apache Iceberg)
  • Viste materializzate e tabelle di streaming
  • Visualizzazioni delle metriche

Connectivity

Lakehouse//RT accetta solo connessioni che usano l'API esecuzione istruzioni. Non supporta il protocollo legacy Thrift, quindi un driver che si connette senza usare esplicitamente l'API di esecuzione delle istruzioni riceve un errore 501.

È possibile connettersi a un magazzino Lakehouse//RT nei modi seguenti:

Controllo di accesso con granularità fine

Lakehouse//RT supporta le query di lettura su tabelle protette da filtri di riga e maschere di colonna. I filtri e le maschere possono essere assegnati direttamente a una tabella o applicati tramite politiche di controllo di accesso basate su attributi (ABAC). Vedi filtri a righe, maschere a colonna e controllo accessi basato su attributi in Unity Catalog.

Usa risorse di calcolo che supportano la gestione delle policy, come un serverless SQL warehouse, per creare o modificare filtri di riga, maschere di colonna e policy ABAC. Lakehouse//RT applica le politiche esistenti quando si leggono le tabelle. Non supporta le dichiarazioni di gestione delle policy né scrive su tabelle con le policy. Per le restrizioni delle interrogazioni, vedi Limitazioni del controllo degli accessi granulare.

Tipi di risultati della maschera di colonna

Lakehouse//RT esegue il cast del risultato di una maschera di colonna al tipo di dato dichiarato della colonna usando la semantica ANSI. Questo vale sia per le maschere a livello di tabella che per quelle ABAC. Se il risultato non può essere convertito nel tipo della colonna, la query fallisce.

Ad esempio:

  • Una maschera che restituisce la stringa 'REDACTED' per una colonna BOOLEAN fa fallire la query perché la stringa non può essere castata in BOOLEAN.
  • Una maschera che restituisce FALSE per una INT colonna produce l'intero 0.

Su Databricks Runtime, una maschera di colonna a livello di tabella espone il tipo restituito dalla maschera alla query. Spostare la stessa query su Lakehouse//RT può cambiare il tipo di risultato o causare un errore di cast. Le maschere ABAC riportano i risultati al tipo di colonna sia su Databricks Runtime che su Lakehouse//RT. Databricks raccomanda funzioni di mascheramento che restituiscono lo stesso tipo della colonna.

Piani di query e profili per le tabelle protette

Per le query che utilizzano filtri a riga o maschere a colonna, Lakehouse//RT limita i dettagli mostrati nell'output EXPLAIN e nei profili di query per proteggere le informazioni sui dati sottostanti e sulla logica delle policy:

  • EXPLAIN L'output nasconde i passaggi della query che leggono dati protetti o applicano policy. Omette anche le statistiche sui piani.
  • I profili di query nascondono questi passaggi di query e omettono le statistiche per le tabelle protette.

Pricing

Per informazioni sui prezzi, consulta la pagina dei prezzi di Databricks.

Limitations

Quando una query utilizza una funzionalità non supportata, Lakehouse//RT restituisce un errore che indica il nome della funzionalità. Per eseguire correttamente la query, usare invece un'istanza di SQL Warehouse serverless.

Strumenti e funzionalità

Lakehouse//RT non supporta ancora le funzionalità seguenti:

  • Genio
  • Agenti Genie
  • Attività dei job

Tipi di tabella

I tipi di tabella seguenti non sono ancora supportati:

  • Tabelle di sistema
  • Tabelle Delta Sharing
  • Tabelle nell'archiviazione predefinita del catalogo Unity
  • Tabelle esterne nel catalogo unity

Lakehouse//RT non supporta i tipi di tabella seguenti:

  • Tabelle del metastore Hive (gestite o esterne)
  • Tabelle esterne e federazione delle query (Lakehouse Federation)
  • Tabelle temporanee
  • Tabelle che usano altri formati di dati (CSV, JSON, Avro, Parquet, ORC e testo)

Limitazioni nel controllo granulare degli accessi

Le query che coinvolgono filtri a riga o maschere a colonna hanno le seguenti limitazioni:

  • Le letture del feed dei dati modificati tramite table_changes non sono supportate su tabelle protette.
  • Le politiche ABAC associate alle viste non sono supportate.
  • Le query su tabelle con policy ABAC che utilizzano system.builtin funzioni falliscono con ABAC_BUILTIN_FUNCTION_NOT_SUPPORTED.
  • Più DISTINCT insiemi di argomenti in un aggregato all'interno di una funzione di criterio falliscono con UNSUPPORTED_FEATURE. Gli aggregati che condividono gli stessi DISTINCT argomenti e gli aggregati nella query esterna rimangono supportati.
  • Alcune sottoquery correlate che coinvolgono tabelle con filtri di riga o maschere di colonna non sono supportate e restituiscono un errore UNSUPPORTED_FEATURE.

Driver e connettori

Lakehouse//RT non supporta il driver ODBC Simba Spark né il driver ODBC Databricks. Usa invece il Databricks OSS ODBC Driver.

Linguaggio SQL

Lakehouse//RT esegue query di lettura SQL solo in modalità ANSI . Valuta tutte le coercizioni e i cast impliciti dei tipi in base alle regole SQL ANSI rigorose e questo comportamento non può essere disattivato. In semantica ANSI le query basate sul comportamento non ANSI potrebbero:

  • Genera un errore di runtime anziché produrre NULL senza segnalarlo. Ad esempio, convertire una stringa non numerica in un numero.
  • Genera un errore in fase di analisi quando non esiste alcun tipo comune sicuro. Ad esempio, COALESCE, CASE, INo impostare operazioni tra tipi incompatibili.
  • Restituisce un tipo di risultato diverso rispetto alla modalità legacy, perché l'innalzamento di stringa ANSI e l'ampliamento numerico scelgono tipi sicuri e senza perdita.

Per ottenere risultati prevedibili, usare espressioni esplicite CAST quando le conversioni implicite in modalità ANSI non producono il comportamento previsto.

Lakehouse//RT non supporta quanto segue:

  • Tipi di dati: I tipi di dati GEOGRAPHY e GEOMETRY.
  • Funzioni: Funzioni AI, UDF Python, funzioni SQL spaziali e funzioni XPath e XML.

Lakehouse//RT è solo per le query di lettura (SELECT). I comandi di scrittura ed ETL non sono supportati, tra cui:

  • Operazioni di scrittura:INSERT, UPDATE, DELETE, MERGE, e CREATE TABLE AS SELECT (CTAS).
  • DDL:CREATE, ALTER, DROP, e altre istruzioni che creano o modificano oggetti.
  • Istruzioni di sicurezza:GRANT e REVOKE.
  • Scripting, stored procedure, tabelle temporanee e transazioni multi-statement.
  • Manutenzione del Delta Lake:OPTIMIZE, ANALYZE, VACUUM, e REFRESH.

Compliance

I profili di sicurezza di conformità non sono attualmente supportati.