Note sulla versione di calcolo serverless
Importante
Questa funzionalità è disponibile in anteprima pubblica. Per informazioni sull'idoneità e l'abilitazione, vedere Abilitare l'anteprima pubblica di calcolo serverless.
Questo articolo illustra le funzionalità e i comportamenti attualmente disponibili e imminenti nelle risorse di calcolo serverless per notebook e flussi di lavoro.
Databricks rilascia periodicamente gli aggiornamenti alle risorse di calcolo serverless. Tutti gli utenti ottengono gli stessi aggiornamenti, distribuiti in un breve periodo di tempo. Vedere Come vengono implementate le versioni?
Modifiche comportamentali imminenti
Questa sezione evidenzia le modifiche comportamentali in arrivo nella prossima versione di calcolo serverless. Quando le modifiche vengono inserite nell'ambiente di produzione, verranno aggiunte alle note sulla versione.
Note sulla versione
Questa sezione include le note sulla versione per il calcolo serverless. Le note sulla versione sono organizzate per anno e settimana dell'anno. Il calcolo serverless viene sempre eseguito usando la versione rilasciata più di recente elencata qui.
Serverless compute version 2024.15
15 aprile 2024
La versione di calcolo serverless 2024.15 è stata rilasciata nell'ambiente di produzione. Si tratta della versione di calcolo serverless iniziale che corrisponde approssimativamente a Databricks Runtime 14.3 con alcune modifiche che rimuovono il supporto per alcune funzionalità non serverless e legacy.
Questa versione include gli aggiornamenti seguenti:
- Configurazioni spark non supportate
- Memorizzazione nella cache di comandi API e SQL non supportati
- Viste temporanee globali non supportate
- CREATE FUNCTION (esterno) non supportato
- Tabelle SerDe Hive non supportate
- Variabili Hive non supportate
- input_file funzioni sono deprecate
- Modifiche comportamentali
Configurazioni spark non supportate
Nel tentativo di automatizzare le configurazioni spark nel calcolo serverless, Databricks ha rimosso il supporto per la maggior parte delle configurazioni Spark. È possibile impostare spark.sql.legacy.timeParserPolicy
e spark.sql.session.timeZone
solo nelle configurazioni di Spark.
Se si prova un'altra configurazione di Spark, non verrà eseguita.
Memorizzazione nella cache di comandi API e SQL non supportati
L'utilizzo delle API di dataframe e cache SQL non è supportato. L'uso di una di queste API o comandi SQL genererà un'eccezione.
API non supportate:
- df.cache(), df.persist()
- df.unpersist()
- spark.catalog.cacheTable()
- spark.catalog.uncacheTable()
- spark.catalog.clearCache()
Comandi SQL non supportati:
Viste temporanee globali non supportate
La creazione di visualizzazioni temporanee globali non è supportata. L'uso di uno di questi comandi genererà un'eccezione:
Databricks consiglia invece di usare viste temporanee di sessione o di creare tabelle in cui è necessario il passaggio dei dati tra sessioni.
CREATE FUNCTION (esterno) non supportato
Il comando CREATE FUNCTION (External) non è supportato. L'uso di questo comando genererà un'eccezione.
Databricks consiglia invece di usare CREATE FUNCTION (SQL e Python) per creare funzioni definite dall'utente.
Tabelle SerDe Hive non supportate
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.
Variabili Hive non supportate
Le variabili Hive (ad esempio ${env:var}
, ${system:var}
${configName}
, e spark.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, edizione Standard T VARIABLE e i riferimenti alle variabili di sessione SQL e ai 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.
input_file funzioni sono deprecate
Le funzioni input_file_name(), input_file_block_length()e input_file_block_start() sono deprecate. L'uso di queste funzioni è altamente sconsigliato.
Usare invece la colonna dei metadati del file per recuperare le informazioni sui metadati del file.
Modifiche comportamentali
La versione di calcolo serverless 2024.15 include le modifiche comportamentali seguenti:
- correzione di bug unhex(hexStr): quando si usa la
unhex(hexStr)
funzione, hexStr viene sempre riempito a sinistra su un intero byte. In precedenza la funzione unhex ignorava il primo mezzo byte. Ad esempio:unhex('ABC')
ora producex'0ABC'
invece dix'BC'
. - Gli alias di colonna generati automaticamente sono ora stabili: quando il risultato di un'espressione viene fatto riferimento senza un alias di colonna specificato dall'utente, questo alias generato automaticamente sarà ora stabile. Il nuovo algoritmo può comportare una modifica ai nomi generati automaticamente in precedenza usati in funzionalità come le viste materializzate.
- Le analisi delle tabelle con
CHAR
campi di tipo sono ora sempre riempite: tabelle Delta, alcune tabelle JDBC e origini dati esterne archiviano i dati CHAR in formato non riempito. Durante la lettura, Databricks ora aggiungerà i dati con spazi alla lunghezza dichiarata per garantire una semantica corretta. - I cast da BIGINT/DECIMAL a TIMESTAMP generano un'eccezione per i valori overflow: Databricks consente il cast da BIGINT e DECIMAL a TIMESTAMP considerando il valore come numero di secondi dall'epoca Unix. In precedenza, Databricks restituiva valori con overflow, ma ora genera un'eccezione in caso di overflow. Utilizzare
try_cast
per restituire NULL anziché un'eccezione. - L'esecuzione della funzione definita dall'utente pySpark è stata migliorata per corrispondere al comportamento esatto dell'esecuzione della funzione definita dall'utente nel calcolo a utente singolo: sono state apportate le modifiche seguenti:
- Le funzioni definite dall'utente con un tipo restituito stringa non convertno più in modo implicito valori non stringa in stringhe. In precedenza, le funzioni definite dall'utente con un tipo restituito di
str
applicano unstr(..)
wrapper al risultato indipendentemente dal tipo di dati effettivo del valore restituito. - Le funzioni definite dall'utente con
timestamp
tipi restituiti non applicano più in modo implicito una conversione del fuso orario ai timestamp.
- Le funzioni definite dall'utente con un tipo restituito stringa non convertno più in modo implicito valori non stringa in stringhe. In precedenza, le funzioni definite dall'utente con un tipo restituito di
Ambiente di sistema
Il calcolo serverless include l'ambiente di sistema seguente:
- Sistema operativo: Ubuntu 22.04.3 LTS
- Python: 3.10.12
- Delta Lake: 3.1.0
Librerie Python installate
Libreria | Versione | Libreria | Versione | Libreria | Versione |
---|---|---|---|---|---|
anyio | 3.5.0 | argon2-cffi | 21.3.0 | argon2-cffi-bindings | 21.2.0 |
asttoken | 2.0.5 | astunparse | 1.6.3 | attrs | 22.1.0 |
backcall | 0.2.0 | beautifulsoup4 | 4.11.1 | black | 22.6.0 |
bleach | 4.1.0 | blinker | 1.4 | boto3 | 1.24.28 |
botocore | 1.27.96 | cachetools | 5.3.2 | certifi | 2022.12.7 |
cffi | 1.15.1 | chardet | 4.0.0 | charset-normalizer | 2.0.4 |
Clic | 8.0.4 | serv | 0.1.2 | contourpy | 1.0.5 |
Crittografia | 39.0.1 | cycler | 0.11.0 | Cython | 0.29.32 |
databricks-connect | 14.3.1 | databricks-sdk | 0.20.0 | dbus-python | 1.2.18 |
debugpy | 1.6.7 | decorator | 5.1.1 | defusedxml | 0.7.1 |
distlib | 0.3.8 | docstring-to-markdown | 0,11 | entrypoints | 0,4 |
executing | 0.8.3 | facet-overview | 1.1.1 | fastjsonschema | 2.19.1 |
filelock | 3.13.1 | fonttools | 4.25.0 | google-auth | 2.28.1 |
googleapis-common-protos | 1.62.0 | grpcio | 1.62.0 | grpcio-status | 1.62.0 |
httplib2 | 0.20.2 | idna | 3.4 | importlib-metadata | 4.6.4 |
ipyflow-core | 0.0.198 | ipykernel | 6.25.0 | ipython | 8.14.0 |
ipython-genutils | 0.2.0 | ipywidgets | 7.7.2 | jedi | 0.18.1 |
jeepney | 0.7.1 | Jinja2 | 3.1.2 | jmespath | 0.10.0 |
joblib | 1.2.0 | jsonschema | 4.17.3 | jupyter-client | 7.3.4 |
jupyter-server | 1.23.4 | jupyter_core | 5.2.0 | jupyterlab-pygments | 0.1.2 |
jupyterlab-widgets | 1.0.0 | Portachiavi | 23.5.0 | kiwisolver | 1.4.4 |
launchpadlib | 1.10.16 | lazr.restfulclient | 0.14.4 | lazr.uri | 1.0.6 |
lxml | 4.9.1 | MarkupSafe | 2.1.1 | matplotlib | 3.7.0 |
matplotlib-inline | 0.1.6 | Mccabe | 0.7.0 | mistune | 0.8.4 |
more-itertools | 8.10.0 | mypy-extensions | 0.4.3 | nbclassic | 0.5.2 |
nbclient | 0.5.13 | nbconvert | 6.5.4 | nbformat | 5.7.0 |
nest-asyncio | 1.5.6 | nodeenv | 1.8.0 | notebook | 6.5.2 |
notebook_shim | 0.2.2 | numpy | 1.23.5 | oauthlib | 3.2.0 |
creazione del pacchetto | 23,2 | pandas | 1.5.3 | pandocfilters | 1.5.0 |
parso | 0.8.3 | pathspec | 0.10.3 | patsy | 0.5.3 |
pexpect | 4.8.0 | pickleshare | 0.7.5 | Pillow | 9.4.0 |
pip | 22.3.1 | platformdirs | 2.5.2 | plotly | 5.9.0 |
pluggy | 1.0.0 | prometheus-client | 0.14.1 | prompt-toolkit | 3.0.36 |
protobuf | 4.25.3 | psutil | 5.9.0 | psycopg2 | 2.9.3 |
ptyprocess | 0.7.0 | pure-eval | 0.2.2 | py4j | 0.10.9.7 |
pyarrow | 8.0.0 | pyarrow-hotfix | 0.5 | pyasn1 | 0.5.1 |
pyasn1-modules | 0.3.0 | pyccolo | 0.0.52 | pycparser | 2.21 |
pydantic | 1.10.6 | pyflakes | 3.1.0 | Pygments | 2.11.2 |
PyGObject | 3.42.1 | PyJWT | 2.3.0 | pyodbc | 4.0.32 |
pyparsing | 3.0.9 | pyright | 1.1.294 | pirsistente | 0.18.0 |
python-dateutil | 2.8.2 | python-lsp-jsonrpc | 1.1.1 | python-lsp-server | 1.8.0 |
pytoolconfig | 1.2.5 | pytz | 2022.7 | pyzmq | 23.2.0 |
requests | 2.28.1 | Corda | 1.7.0 | rsa | 4.9 |
s3transfer | 0.6.2 | scikit-learn | 1.1.1 | scipy | 1.10.0 |
seaborn | 0.12.2 | Segreto Archiviazione | 3.3.1 | Send2Trash | 1.8.0 |
setuptools | 65.6.3 | sei | 1.16.0 | sniffio | 1.2.0 |
soupsieve | 2.3.2.post1 | ssh-import-id | 5,11 | stack-data | 0.2.0 |
statsmodels | 0.13.5 | tenacity | 8.1.0 | terminado | 0.17.1 |
threadpoolctl | 2.2.0 | tinycss2 | 1.2.1 | tokenize-rt | 4.2.1 |
tomli | 2.0.1 | tornado | 6.1 | traitlets | 5.7.1 |
typing_extensions | 4.4.0 | ujson | 5.4.0 | aggiornamenti automatici | 0,1 |
urllib3 | 1.26.14 | virtualenv | 20.16.7 | wadllib | 1.3.6 |
wcwidth | 0.2.5 | webencodings | 0.5.1 | websocket-client | 0.58.0 |
whatthepatch | 1.0.2 | wheel | 0.38.4 | widgetsnbextension | 3.6.1 |
yapf | 0.33.0 | Zipp | 1.0.0 |
Limiti
Il calcolo serverless si basa sull'architettura di calcolo condivisa. Di seguito sono elencate le limitazioni più importanti ereditate dal calcolo condiviso, insieme a limitazioni aggiuntive specifiche del serverless. Per un elenco completo delle limitazioni di calcolo condivise, vedere Limitazioni della modalità di accesso alle risorse di calcolo per il catalogo unity.
Limitazioni generali
- Scala e R non sono supportati.
- Durante la scrittura di SQL è supportato solo ANSI SQL.
- Le API RDD Spark non sono supportate.
- Contesto Spark (sc),
spark.sparkContext
esqlContext
non sono supportati. - Non è possibile accedere a DBFS.
- I servizi contenitore Databricks non sono supportati.
- Il terminale Web non è supportato.
- Le query structured Streaming richiedono la chiamata di
query.awaitTermination()
per assicurarsi che la query venga completata. - Nessuna query può essere eseguita più di 48 ore.
- È necessario usare Unity Catalog per connettersi a origini dati esterne. Usare percorsi esterni 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 non possono accedere a Internet.
- Le singole righe non devono superare le dimensioni massime di 128 MB.
- L'interfaccia utente di Spark non è disponibile. Usare invece il profilo di query per visualizzare informazioni sulle query Spark. Vedere Profilo di query.
Limitazioni di Machine Learning
- Databricks Runtime per Machine Learning e Apache Spark MLlib non sono supportati.
- Le GPU non sono supportate.
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 flussi di lavoro sono attualmente fisse e non possono essere modificate.
- I log attività non sono isolati per ogni esecuzione di attività. I log conterranno l'output di più attività.
- Le librerie di attività non sono supportate per le attività 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. 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
- Configurazioni di calcolo e variabili di ambiente apache Spark
Domande frequenti
- Come vengono implementate le versioni?
- Ricerca per categorie determinare quale versione è in esecuzione?
Come vengono implementate le versioni?
Il calcolo serverless è un prodotto senza versione, il che significa che Databricks aggiorna automaticamente il runtime di calcolo serverless per supportare miglioramenti e aggiornamenti alla piattaforma. Tutti gli utenti ottengono gli stessi aggiornamenti, distribuiti in un breve periodo di tempo.
Ricerca per categorie determinare quale versione è in esecuzione?
I carichi di lavoro serverless saranno sempre in esecuzione nella versione di runtime più recente. Vedere Note sulla versione per la versione più recente.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per