Limitazioni di calcolo serverless
Questo articolo illustra le limitazioni correnti dell'ambiente di calcolo serverless per Notebook e processi. Inizia con una panoramica delle considerazioni più importanti e quindi fornisce un elenco completo di riferimenti delle limitazioni.
Informazioni generali sulle limitazioni
Prima di creare nuovi carichi di lavoro o eseguire la migrazione di carichi di lavoro a un ambiente di calcolo serverless, considerare prima di tutto le limitazioni seguenti:
- Python e SQL sono gli unici linguaggi supportati.
- Sono supportate solo le API di connessione Spark. Le API RDD Spark non sono supportate.
- Le librerie JAR non sono supportate. Per le soluzioni alternative, vedere Procedure consigliateper il calcolo serverless.
- L'ambiente di calcolo serverless ha accesso illimitato a tutti gli utenti dell'area di lavoro.
- I tag del Notebook non sono supportati.
- Per lo streaming, è possibile usare solo la logica batch incrementale. Non è disponibile alcun supporto per gli intervalli di trigger predefiniti o basati sull’orario. Vedere Limitazioni dello streaming.
Elenco di riferimenti alle limitazioni
Nelle sezioni seguenti sono elencate le limitazioni correnti dell'ambiente di calcolo serverless.
Il calcolo serverless si basa sull'architettura di calcolo condivisa. Di seguito sono elencate le limitazioni più rilevanti ereditate dal calcolo condiviso, insieme a limitazioni aggiuntive specifiche dell’ambiente serverless. Per un elenco completo delle limitazioni di calcolo condivise, vedere Limitazioni della modalità di accesso alle risorse di calcolo per Unity Catalog.
Limitazioni generali
Scala ed R non sono supportati.
ANSI SQL è l'impostazione predefinita per la scrittura di SQL. Rifiutare esplicitamente la modalità ANSI impostando
spark.sql.ansi.enabled
sufalse
.Le API RDD Spark non sono supportate.
Il contesto Spark (sc),
spark.sparkContext
esqlContext
non sono supportati.I Databricks Container Services non sono supportati.
Il terminaleWeb non è supportato.
Nessuna query può essere eseguita per più di 48 ore.
È necessario usare Unity Catalog per connettersi a origini dati esterne. Usare posizioni esterne per accedere all'archiviazione cloud.
Il supporto per le origini dati è limitato ad AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT e XML.
Le funzioni definite dall'utente (UDF) non possono accedere a Internet. Per questo motivo, il comando CREATE FUNCTION (Esterno) non è supportato. Databricks consiglia di usare CREATE FUNCTION (SQL e Python) per creare funzioni definite dall'utente (UDF).
Le singole righe non devono superare le dimensioni massime di 128 MB.
L’interfaccia utente Spark non è disponibile. Usare invece il profilo di query per visualizzare informazioni sulle query Spark. Vedere Profilo query.
I log di Spark non sono disponibili quando si usano notebook e processi serverless. Gli utenti hanno accesso solo ai log applicazioni lato client.
L'accesso tra aree di lavoro è consentito solo se le aree di lavoro si trovano nella stessa area e l'area di lavoro di destinazione non ha un ACL IP o privateLink front-end configurato.
Le visualizzazioni temporanee globali non sono supportate. Databricks consiglia di utilizzare viste temporanee di sessione oppure di creare tabelle ove sia necessario trasferire dati tra sessioni.
Limitazioni dello streaming
- Non è disponibile alcun supporto per gli intervalli di trigger predefiniti o basati sull’orario. È supportato solo
Trigger.AvailableNow
. Vedere Configurare gli intervalli di trigger del flusso strutturato. - Si applicano anche tutte le limitazioni per lo streaming in modalità di accesso condiviso. Consultare le limitazioni e i requisiti di streaming per la modalità di accesso condiviso di Unity Catalog .
Limitazioni del Machine Learning
- I Databricks Runtime per Machine Learning e Apache Spark MLlib non sono supportati.
- I GPU non sono supportati.
Limitazioni dei Notebook
- I Notebook hanno accesso a 8 GB di memoria che non possono essere configurati.
- Le librerie con ambito Notebook non vengono memorizzate nella cache tra le sessioni di sviluppo.
- La condivisione di tabelle e viste TEMP quando si condivide un notebook tra gli utenti non è supportata.
- Il completamento automatico e Esplora variabili per i DataFrame nei Notebook non sono supportati.
Limitazioni del flusso di lavoro
- Le dimensioni del driver per il calcolo serverless per i processi sono attualmente fisse e non possono essere modificate.
- I log dei task non sono isolati per ogni esecuzione di task. I log conterranno l'output di più task.
- Le librerie di attività non sono supportate per i task del Notebook. Usare invece librerie con ambito Notebook. Vedere Librerie Python con ambito notebook.
Limitazioni specifiche del calcolo
Le funzionalità specifiche del calcolo seguenti non sono supportate:
- Criteri di calcolo
- Script init con ambito di calcolo
- Librerie con ambito di calcolo, incluse origini dati personalizzate ed estensioni Spark. Usare invece librerie con ambito Notebook.
- Configurazioni di accesso ai dati a livello di calcolo, inclusi i profili di istanza. Di conseguenza, l'accesso a tabelle e file tramite HMS nei percorsi cloud o con montaggi DBFS che non dispongono di credenziali incorporate non funzionerà.
- Pool di istanze
- Registri eventi di calcolo
- La maggior parte delle configurazioni di calcolo di Apache Spark. Per un elenco delle configurazioni supportate, vedere parametri di configurazione di Spark supportati.
- variabili di ambiente. Databricks consiglia invece di usare i widget per creare parametri di job e attività .
Limitazioni della memorizzazione nella cache
Le API del dataframe e della cache SQL non sono supportate nel calcolo serverless. L'uso di una di queste API o comandi SQL genererà un'eccezione.
- df.cache(), df.persist()
- df.unpersist()
- spark.catalog.cacheTable()
- spark.catalog.uncacheTable()
- spark.catalog.clearCache()
- CACHE TABLE
- UNCACHE TABLE
- REFRESH TABLE
- CLEAR CACHE
Limitazioni di Hive
le tabelle SerDe Hive non sono supportate. Inoltre, il comando LOAD DATA corrispondente che carica i dati in una tabella SerDe Hive non è supportato. L'uso del comando genererà un'eccezione.
Il supporto per le origini dati è limitato ad AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT e XML.
Le variabili Hive (ad esempio
${env:var}
,${configName}
${system:var}
, espark.sql.variable
) o i riferimenti alle variabili di configurazione che usano la${var}
sintassi non sono supportati. L'uso delle variabili Hive genererà un'eccezione.Usare invece DECLARE VARIABLE, SET VARIABLEe variabili di sessione SQL fa riferimento e marcatori di parametro ('?', o ':var') per dichiarare, modificare e fare riferimento allo stato della sessione. È anche possibile usare la clausola IDENTIFIER per parametrizzare i nomi degli oggetti in molti casi.