Releaseopmerkingen voor serverloze compute
In dit artikel worden de functies en het gedrag uitgelegd die momenteel beschikbaar en gepland zijn op serverloze berekeningen voor notebooks en werkstromen.
Zie Verbinding maken met serverloze berekeningen voor meer informatie over serverloze berekeningen.
Databricks brengt regelmatig updates uit voor serverloze berekeningen, en voert automatisch een upgrade uit van de serverloze rekenruntime om verbeteringen en upgrades naar het platform te ondersteunen. Alle gebruikers krijgen dezelfde updates, die gedurende een korte periode worden geïmplementeerd.
Toekomstige gedragswijzigingen
In deze sectie worden gedragswijzigingen gemarkeerd die beschikbaar zijn in de volgende serverloze rekenversie. Wanneer de wijzigingen naar productie worden gepusht, worden ze toegevoegd aan de releaseopmerkingen.
Opmerkingen bij de release
Deze sectie bevat releaseopmerkingen voor serverloze berekeningen. Releaseopmerkingen zijn ingedeeld op jaar en week van het jaar. Serverloze compute wordt altijd uitgevoerd met behulp van de laatst uitgebrachte versie die hier wordt vermeld.
Versie 2024.30
23 juli 2024
Nieuwe functies
- Ondersteuning voor stercomponent (
*
) in deWHERE
component: U kunt nu de stercomponent (*
) in deWHERE
component gebruiken om te verwijzen naar alle kolommen uit deSELECT
lijst. Bijvoorbeeld:SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*)
.
Wijzigingen
Verbeterd foutherstel voor JSON-parsering: de JSON-parser die wordt gebruikt voor
from_json()
expressies van JSON-pad, herstelt nu sneller van onjuiste syntaxis, wat resulteert in minder gegevensverlies.Wanneer u een ongeldige JSON-syntaxis in een structveld, een matrixwaarde, een kaartsleutel of een toewijzingswaarde tegenkomt, wordt de JSON-parser nu alleen geretourneerd
NULL
voor het onleesbare veld, de sleutel of het element. Volgende velden, sleutels of elementen worden correct geparseerd. Vóór deze wijziging heeft de JSON-parser de matrix, de struct of de kaart verlaten en geretourneerdNULL
voor de resterende inhoud.
Versie 2024.15
15 april 2024
Dit is de eerste serverloze rekenversie. Deze versie komt ongeveer overeen met Databricks Runtime 14.3 met enkele wijzigingen die ondersteuning voor sommige niet-serverloze en verouderde functies verwijderen.
Ondersteunde Spark-configuratieparameters
Databricks heeft ondersteuning voor het handmatig instellen van de meeste Spark-configuraties verwijderd om de configuratie van Spark op serverloze berekeningen te automatiseren. U kunt alleen de volgende Spark-configuratieparameters handmatig instellen:
spark.sql.legacy.timeParserPolicy
(standaardwaarde isEXCEPTION
)spark.sql.session.timeZone
(standaardwaarde isEtc/UTC
)spark.sql.shuffle.partitions
(standaardwaarde isauto
)spark.sql.ansi.enabled
(standaardwaarde istrue
)
De taak wordt uitgevoerd op serverloze berekeningen mislukt als u een Spark-configuratie instelt die niet in deze lijst staat.
Cache-API- en SQL-opdrachten worden niet ondersteund
Het gebruik van Dataframe- en SQL-cache-API's wordt niet ondersteund. Als u een van deze API's of SQL-opdrachten gebruikt, resulteert dit in een uitzondering.
Niet-ondersteunde API's:
- df.cache(), df.persist()
- df.unpersist()
- spark.catalog.cacheTable()
- spark.catalog.uncacheTable()
- spark.catalog.clearCache()
Niet-ondersteunde SQL-opdrachten:
Globale tijdelijke weergaven worden niet ondersteund
Het maken van globale tijdelijke weergaven wordt niet ondersteund. Als u een van deze opdrachten gebruikt, resulteert dit in een uitzondering:
In plaats daarvan raadt Databricks aan om tijdelijke sessieweergaven te gebruiken of tabellen te maken waarbij het doorgeven van gegevens tussen sessies vereist is.
CREATE FUNCTION (extern) wordt niet ondersteund
De opdracht CREATE FUNCTION (Extern) wordt niet ondersteund. Als u deze opdracht gebruikt, resulteert dit in een uitzondering.
In plaats daarvan raadt Databricks het gebruik van CREATE FUNCTION (SQL en Python) aan om UDF's te maken.
Hive SerDe-tabellen worden niet ondersteund
Hive SerDe-tabellen worden niet ondersteund. Daarnaast wordt de bijbehorende opdracht LOAD DATA waarmee gegevens in een Hive SerDe-tabel worden geladen, niet ondersteund. Als u de opdracht gebruikt, resulteert dit in een uitzondering.
Ondersteuning voor gegevensbronnen is beperkt tot AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEKST en XML.
Hive-variabelen worden niet ondersteund
Hive-variabelen (bijvoorbeeld ${env:var}
, ${system:var}
${configName}
en ) spark.sql.variable
of verwijzingen naar configuratievariabelen met behulp van de ${var}
syntaxis worden niet ondersteund. Het gebruik van Hive-variabelen resulteert in een uitzondering.
Gebruik in plaats daarvan DECLARE VARIABLE, SET VARIABLE en SQL-sessievariabeleverwijzingen en parametermarkeringen ('?', of ':var') om de sessiestatus te declareren, te wijzigen en te verwijzen. U kunt ook de ID-component gebruiken om objectnamen in veel gevallen te parameteriseren.
input_file functies zijn afgeschaft
De functies input_file_name(), input_file_block_length()en input_file_block_start() zijn afgeschaft. Het gebruik van deze functies wordt sterk afgeraden.
Gebruik in plaats daarvan de kolom met bestandsmetagegevens om metagegevens van bestanden op te halen.
Gedragswijzigingen
Serverloze compute-versie 2024.15 bevat de volgende gedragswijzigingen:
- unhex(hexStr) bug fix: Wanneer u de
unhex(hexStr)
functie gebruikt, wordt hexStr altijd opgevuld naar een hele byte. Voorheen negeerde de onhexe functie de eerste halve byte. Bijvoorbeeld:unhex('ABC')
produceertx'0ABC'
nu in plaats vanx'BC'
. - Automatisch gegenereerde kolomaliassen zijn nu stabiel: wanneer het resultaat van een expressie wordt verwezen zonder een door de gebruiker opgegeven kolomalias, is deze automatisch gegenereerde alias nu stabiel. Het nieuwe algoritme kan leiden tot een wijziging van de eerder automatisch gegenereerde namen die worden gebruikt in functies zoals gerealiseerde weergaven.
- Tabelscans met
CHAR
typevelden worden nu altijd opgevuld: Delta-tabellen, bepaalde JDBC-tabellen en externe gegevensbronnen slaan CHAR-gegevens op in niet-opgevulde vorm. Wanneer u leest, worden de gegevens nu door Databricks opgeslagen met spaties naar de gedeclareerde lengte om de juiste semantiek te garanderen. - Casts from BIGINT/DECIMAL to TIMESTAMP throw an exception for overflowed values: Databricks allows casting from BIGINT and DECIMAL to TIMESTAMP by treating the value as the number of seconds from the Unix epoch. Voorheen retourneerde Databricks overloopwaarden, maar genereert nu een uitzondering in gevallen van overloop. Gebruik
try_cast
dit om NULL te retourneren in plaats van een uitzondering. - PySpark UDF-uitvoering is verbeterd zodat deze overeenkomt met het exacte gedrag van UDF-uitvoering op rekenkracht van één gebruiker: De volgende wijzigingen zijn aangebracht:
- UDF's met een tekenreeks retourtype converteren niet langer impliciet niet-tekenreekswaarden naar tekenreeksen. Voorheen zouden UDF's met een retourtype van
str
een wrapper wordenstr(..)
toegepast op het resultaat, ongeacht het werkelijke gegevenstype van de geretourneerde waarde. - UDF's met
timestamp
retourtypen passen een tijdzoneconversie niet meer impliciet toe op tijdstempels.
- UDF's met een tekenreeks retourtype converteren niet langer impliciet niet-tekenreekswaarden naar tekenreeksen. Voorheen zouden UDF's met een retourtype van
Systeemomgeving
Serverloze berekening bevat de volgende systeemomgeving:
- Besturingssysteem: Ubuntu 22.04.3 LTS
- Python: 3.10.12
- Delta Lake: 3.1.0
Geïnstalleerde Python-bibliotheken
De volgende Python-bibliotheken worden standaard geïnstalleerd op serverloze berekeningen. Er kunnen extra afhankelijkheden worden geïnstalleerd met behulp van het deelvenster Omgevingszijde . Zie Notebook-afhankelijkheden installeren.
Bibliotheek | Versie | Bibliotheek | Versie | Bibliotheek | Versie |
---|---|---|---|---|---|
anyio | 3.5.0 | argon2-cffi | 21.3.0 | argon2-cffi-bindingen | 21.2.0 |
asttokens | 2.0.5 | astunparse | 1.6.3 | attrs | 22.1.0 |
backcall | 0.2.0 | beautifulsoup4 | 4.11.1 | zwart | 22.6.0 |
bleken | 4.1.0 | oogklep | 1.4 | boto3 | 1.24.28 |
botocore | 1.27.96 | cachetools | 5.3.2 | certifi | 2022.12.7 |
cffiffi | 1.15.1 | chardet | 4.0.0 | charset-normalizer | 2.0.4 |
klikken | 8.0.4 | comm | 0.1.2 | contourpy | 1.0.5 |
cryptografie | 39.0.1 | wielrijder | 0.11.0 | Cython | 0.29.32 |
databricks-connect | 14.3.1 | databricks-sdk | 0.20.0 | dbus-python | 1.2.18 |
foutopsporing | 1.6.7 | decorateur | 5.1.1 | defusedxml | 0.7.1 |
distlib | 0.3.8 | docstring-to-markdown | 0,11 | invoerpunten | 0,4 |
Uitvoeren | 0.8.3 | facets-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 | sleutelhanger | 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 |
verpakking | 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 | Kussen | 9.4.0 |
pit | 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 | pyrsistent | 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 | touw | 1.7.0 | RSA | 4.9 |
s3transfer | 0.6.2 | scikit-learn | 1.1.1 | scipy | 1.10.0 |
seaborn | 0.12.2 | SecretStorage | 3.3.1 | Send2Trash | 1.8.0 |
setuptools | 65.6.3 | Zes | 1.16.0 | sniffio | 1.2.0 |
soepsieve | 2.3.2.post1 | ssh-import-id | 5,11 | stack-data | 0.2.0 |
statsmodels | 0.13.5 | vasthoudendheid | 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 | upgrades zonder toezicht | 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 | wiel | 0.38.4 | widgetsnbextension | 3.6.1 |
yapf | 0.33.0 | Zipp | 1.0.0 |
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor