Środowisko bezserwerowe w wersji 4

W tym artykule opisano informacje o środowisku systemowym dla środowiska bezserwerowego w wersji 4.

Aby zapewnić zgodność aplikacji, obciążenia bezserwerowe używają interfejsu API w wersji znanej jako wersja środowiska, która pozostaje zgodna z nowszymi wersjami serwera.

Możesz wybrać środowisko podstawowe zawierające tę wersję środowiska przy użyciu panelu bocznego Środowisko w notesach bezserwerowych. Zobacz Wybieranie środowiska podstawowego.

Nowe funkcje i ulepszenia

Następujące nowe funkcje i ulepszenia są dostępne w środowisku bezserwerowym 4.

Obsługa uczenia maszynowego platformy Spark w obliczeniach bezserwerowych

Obliczenia bezserwerowe obsługują teraz platformę Spark ML w programie PySpark (pyspark.ml) i MLflow dla platformy Spark (mlflow.spark) w środowisku w wersji 4. W przypadku dostrajania hiperparametrów w obliczeniach bezserwerowych usługa Databricks zaleca korzystanie z platformy Optuna i Joblib Spark.

Podczas uruchamiania języka SparkML na obliczeniach bezserwerowych obowiązują następujące ograniczenia:

  • Maksymalny rozmiar modelu to 100 MB.
  • Maksymalny całkowity rozmiar modeli w pamięci na sesję wynosi 1 GB.
  • Trenowanie modelu drzewa zatrzymuje się wcześnie, jeśli rozmiar modelu ma przekroczyć 100 MB.
  • Następujące modele SparkML nie są obsługiwane:
    • DistributedLDAModel
    • FPGrowthModel

Funkcje UDF Scala i Java w Unity Catalog

Środowisko bezserwerowe w wersji 4 obsługuje funkcje zdefiniowane przez użytkownika (UDF) w językach Scala i Java w Unity Catalog. Możesz tworzyć, rejestrować i udostępniać niestandardowe funkcje w językach Scala i Java w różnych środowiskach obliczeniowych w ramach mechanizmów zarządzania Unity Catalog. W przypadku funkcji UDF Scala w Unity Catalog obsługiwana jest tylko wersja Scala 2.13.16. Funkcje UDF w językach Scala i Java w Unity Catalog wymagają środowiska JDK 17.

Aby uzyskać więcej informacji, zobacz funkcje zdefiniowane przez użytkownika (UDF) w językach Scala i Java w Unity Catalog.

Skalarne funkcje zdefiniowane w Pythonie teraz obsługują poświadczenia usługi

Scalar Python UDFs mogą używać poświadczeń serwisu Unity Catalog do bezpiecznego uzyskiwania dostępu do zewnętrznych usług chmurowych. Aby uzyskać więcej informacji, zobacz Poświadczenia usługi w scalar Python UDF.

PySpark i Spark Connect obsługują teraz interfejs API ramek df.mergeInto danych

PySpark i Spark Connect teraz obsługują df.mergeInto interfejs API, który był wcześniej dostępny tylko dla języka Scala.

Aktualizacje interfejsu API

Środowisko bezserwerowe 4 zawiera następujące aktualizacje interfejsu API:

  • SPARK-50915 Dodaj getCondition i oznacz jako przestarzałe getErrorClass w PySparkException
  • SPARK-50719 Obsługa interruptOperation programu PySpark
  • SPARK-50718 Obsługa addArtifact(s) programu PySpark
  • SPARK-49530 Obsługa podplodów kołowych na wykresie PySpark
  • SPARK-50357 Obsługa Interrupt(Tag|All) interfejsów API dla rozwiązania PySpark
  • SPARK-51178 Zgłoś prawidłowy błąd PySpark zamiast SparkConnectGrpcException
  • SPARK-51227 Naprawiono PySpark Connect do wersji _minimum_grpc_version 1.67.0
  • SPARK-50778 Dodawanie metadataColumn do ramki danych PySpark
  • SPARK-50311 Obsługa (add|remove|get|clear)Tag(s) interfejsów API dla rozwiązania PySpark
  • SPARK-50310 Dodawanie flagi do wyłączenia DataFrameQueryContext dla programu PySpark
  • SPARK-50238 Dodaj obsługę wariantów w funkcjach zdefiniowanych przez użytkownika PySpark/UDFs/UDTFs/UDAFs i Python UC UDFs
  • SPARK-50183 Ujednolicenie funkcji wewnętrznych dla interfejsu API biblioteki Pandas i funkcji PySpark Plotting
  • SPARK-50170 Przenieś _invoke_internal_function_over_columns do pyspark.sql.utils
  • SPARK-50167 Ulepszanie kreślenia komunikatów o błędach i importowania przez narzędzie PySpark
  • SPARK-48961 Zapewnij spójność nazewnictwa parametrów PySparkException z JVM
  • SPARK-49567 Używanie klasycznego zamiast wanilii z bazy kodu PySpark
  • SPARK-48755transformWithState Implementacja ValueState i obsługa bazy PySpark
  • SPARK-48714 Implementowanie DataFrame.mergeInto w narzędziu PySpark
  • SPARK-47365 Dodawanie toArrow() metody ramki danych do programu PySpark
  • SPARK-48075 Sprawdzanie typów funkcji PySpark avro
  • SPARK-46984 Usunąć pyspark.copy_func
  • SPARK-46213 Wprowadzenie PySparkImportError do struktury błędów
  • SPARK-46226 Migrowanie wszystkich pozostałych RuntimeError do platformy błędów PySpark
  • SPARK-45450 Napraw importy zgodnie z wytycznymi PEP8: pyspark.pandas i pyspark (core)

Środowisko systemu

  • System operacyjny: Ubuntu 24.04.2 LTS
  • Python: 3.12.3
  • Databricks Connect: 17 (Usługa Databricks Connect jest stale aktualizowana w najnowszej wersji środowiska bezserwerowego. Uruchom polecenie pip list , aby potwierdzić dokładną wersję w bieżącym środowisku).
  • Scala: 2.13.16
  • JDK: 17

Zainstalowane biblioteki języka Python

Aby odtworzyć środowisko bezserwerowe 4 w lokalnym środowisku wirtualnym języka Python, pobierz plik requirements-env-4.txt i uruchom polecenie pip install -r requirements-env-4.txt. To polecenie instaluje wszystkie biblioteki ze środowiska bezserwerowego 4.

Library wersja Library wersja Library wersja
typy z adnotacjami 0.7.0 anyio 4.6.2 argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0 strzałka 1.3.0 asttokens 2.0.5
astunparse 1.6.3 async-lru 2.0.4 attrs 24.3.0
typowe dla platformy Azure 1.1.28 azure-core 1.34.0 azure-identity 1.20.0
azure-mgmt-core 1.5.0 azure-mgmt-web 8.0.0 azure-storage-blob 12.23.0
azure-storage-file-datalake 12.17.0 Babel 2.16.0 beautifulsoup4 4.12.3
czarny 24.10.0 wybielacz 6.2.0 boto3 1.36.2
botocore 1.36.3 cachetools 5.5.1 certyfikat 2025.1.31
cffi 1.17.1 chardet 4.0.0 charset-normalizer 3.3.2
kliknij 8.1.7 cloudpickle (biblioteka Python do serializacji obiektów) 3.0.0 komunikacja 0.2.1
contourpy 1.3.1 kryptografia 43.0.3 rowerzysta 0.11.0
Cython 3.0.12 databricks-connect 17.3.12 databricks-sdk 0.49.0
debugpy 1.8.11 dekorator 5.1.1 defusedxml 0.7.1
Deprecated 1.2.13 docstring-to-markdown 0.11 Wykonywanie 0.8.3
aspekty — omówienie 1.1.1 fastapi 0.115.12 fastjsonschema 2.21.1
fonttools 4.55.3 FQDN 1.5.1 fsspec 2023.5.0
gitdb 4.0.11 GitPython 3.1.43 google-api-core 2.20.0
google-auth 2.40.0 google-cloud-core 2.4.3 Przechowywanie w chmurze Google 3.1.0
google-crc32c 1.7.1 google-resumable-media 2.7.2 googleapis-common-protos 1.65.0
grpcio 1.67.0 grpcio-status 1.67.0 h11 0.14.0
httpcore 1.0.2 httpx 0.27.0 IDNA 3.7
importlib-metadata 6.6.0 iniconfig 1.1.1 ipyflow-core 0.0.209
ipykernel 6.29.5 ipython 8.30.0 ipython-genutils 0.2.0
ipywidgets 7.8.1 isodate 0.6.1 izoduracja 20.11.0
jedi 0.19.2 Jinja2 3.1.5 jmespath 1.0.1
joblib 1.4.2 json5 0.9.25 jsonpointer 3.0.0
jsonschema 4.23.0 jsonschema-specifications 2023.7.1 jupyter-wydarzenia 0.10.0
jupyter-lsp 2.2.0 jupyter_client 8.6.3 jupyter_core 5.7.2
jupyter_server 2.14.1 jupyter_server_terminals 0.4.4 jupyterlab 4.3.4
jupyterlab-pygments 0.1.2 jupyterlab-widgets 1.0.0 jupyterlab_server 2.27.3
kiwisolver 1.4.8 markdown-it-py 2.2.0 MarkupSafe 3.0.2
matplotlib 3.10.0 matplotlib-inline 0.1.7 Mccabe 0.7.0
mdurl 0.1.0 Mistune 2.0.4 mlflow-skinny 2.22.0
mmh3 5.1.0 msal 1.32.3 msal-extensions 1.3.1
mypy-extensions 1.0.0 nbclient 0.8.0 nbconvert - narzędzie do konwersji plików Jupyter Notebook 7.16.4
nbformat 5.10.4 nest-asyncio 1.6.0 nodeenv 1.9.1
notes 7.3.2 notebook_shim 0.2.3 numpy 2.1.3
opentelemetry-api 1.32.1 opentelemetry-sdk 1.32.1 opentelemetry-semantic-conventions 0.53b1
Zastępuje 7.4.0 opakowanie 24.1 Pandas 2.2.3
pandocfilters 1.5.0 parso 0.8.4 pathspec 0.10.3
Frajer 1.0.1 pexpect 4.8.0 poduszka 11.1.0
pip (menedżer pakietów Pythona) 25.0.1 platformdirs 3.10.0 kreślenie 5.24.1
pluggy - system zarządzania wtyczkami 1.5.0 prometheus_client 0.21.0 zestaw narzędzi prompt 3.0.43
proto-plus 1.26.1 Protobuf (w skrócie od Protocol Buffers) 5.29.4 psutil (biblioteka Pythona do monitorowania systemów i procesów) 5.9.0
psycopg2 2.9.3 ptyprocess 0.7.0 pure-eval 0.2.2
py4j 0.10.9.9 pyarrow 19.0.1 pyasn1 0.4.8
pyasn1-modules 0.2.8 pyccolo 0.0.71 pycparser 2.21
pydantic 2.10.6 pydantic_core 2.27.2 pyflakes 3.2.0
Pygments 2.15.1 pyiceberg 0.9.0 PyJWT 2.10.1
pyodbc 5.2.0 pyparsing – biblioteka do przetwarzania tekstu w Pythonie 3.2.0 pyright 1.1.394
pytest 8.3.5 python-dateutil (biblioteka Pythona do zarządzania datami) 2.9.0.post0 python-json-logger 3.2.1
python-lsp-jsonrpc 1.1.2 python-lsp-server 1.12.0 pytoolconfig 1.2.6
pytz (biblioteka Pythona do obliczeń stref czasowych) 2024.1 PyYAML 6.0.2 pyzmq 26.2.0
Odwoływanie się do 0.30.2 żądania 2.32.3 rfc3339-validator 0.1.4
rfc3986-validator 0.1.1 bogaty 13.9.4 lina 1.12.0
rpds-py 0.22.3 RSA 4.9.1 s3transfer 0.11.3
scikit-learn 1.6.1 scipy (biblioteka naukowa dla Pythona) 1.15.1 urodzony na morzu 0.13.2
Send2Trash 1.8.2 smmap 5.0.0 sniffio 1.3.0
sortedcontainers 2.4.0 soupsieve 2.5 sqlparse 0.5.3
stack-data 0.2.0 Starlette 0.46.2 statsmodels - biblioteka do modelowania statystycznego 0.14.4
strictyaml 1.7.3 Wytrzymałość 9.0.0 zakończony 0.17.1
threadpoolctl 3.5.0 tinycss2 1.4.0 tokenize_rt 6.1.0
tomli 2.0.1 tornado 6.4.2 traitlets 5.14.3
types-python-dateutil 2.9.0.20241206 typing_extensions 4.12.2 tzdata 2024.1
ujson 5.10.0 Szablon URI 1.3.0 urllib3 2.3.0
uvicorn 0.34.2 szerokość(wcwidth) 0.2.5 kolory sieci Web 24.11.1
kodowania webowe 0.5.1 websocket-client 1.8.0 whatthepatch 1.0.2
widgetsnbextension 3.6.6 wrapt (biblioteka Python do dekoratorów i funkcji zawijania) 1.17.0 yapf 0.40.2
zipp 3.21.0 zstandard 0.23.0

Zainstalowane biblioteki Java i Scala (Scala 2.13)

Identyfikator grupy Identyfikator artefaktu wersja
com.databricks databricks-connect_2.13 17.3.1
com.databricks databricks-dbutils-scala_2.13 0.1.4
com.databricks databricks-sdk-java 0.52.0
com.fasterxml.jackson.core Jackson - adnotacje 2.15.2
com.fasterxml.jackson.core jackson-core 2.15.2
com.fasterxml.jackson.core jackson-databind 2.15.2
com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.15.2
com.google.auth Biblioteka uwierzytelniania Google - poświadczenia 1.20.0
com.google.auth google-auth-library-oauth2-http 1.20.0
com.google.auto.value adnotacje Auto-Value 1.10.4
com.google.code.gson gson 2.10.1
com.google.errorprone error_prone_annotations 2.18.0
com.google.guava failureaccess 1.0.1
com.google.guava guava 32.0.1-jre
com.google.guava listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
com.google.http-client google-http-klient 1.43.3
com.google.http-client google-http-client-gson 1.43.3
com.google.j2objc j2objc-annotations 2.8
com.lihaoyi ammonite-compiler-interface_2.13.16 3.0.8
com.lihaoyi ammonite-compiler_2.13.16 3.0.8
com.lihaoyi ammonite-interp-api_2.13.16 3.0.8
com.lihaoyi ammonite-interp_2.13.16 3.0.8
com.lihaoyi ammonite-repl-api_2.13.16 3.0.8
com.lihaoyi ammonite-repl_2.13.16 3.0.8
com.lihaoyi ammonite-runtime_2.13.16 3.0.8
com.lihaoyi ammonite-terminal_2.13 3.0.8
com.lihaoyi ammonite-util_2.13 3.0.8
com.lihaoyi fansi_2.13 0.5.1
com.lihaoyi mainargs_2.13 0.7.6
com.lihaoyi os-lib_2.13 0.11.3
com.lihaoyi pprint_2.13 0.9.0
com.lihaoyi scalaparse_2.13 3.1.1
com.lihaoyi scalatags_2.13 0.13.1
com.thesamet.scalapb lenses_2.13 0.11.15
com.thesamet.scalapb scalapb-runtime_2.13 0.11.15
com.thoughtworks.paranamer paranamer 2.8
commons-codec commons-codec 1.11
commons-io commons-io 2.14.0
commons-logging commons-logging 1.3.2
io.github.java-diff-utils java-diff-utils 4.15
io.grpc grpc-context 1.27.2
io.opencensus opencensus-api 0.31.1
io.opencensus opencensus-contrib-http-util 0.31.1
org.apache.commons commons-configuration2 2.11.0
org.apache.commons commons-lang3 3.14.0
org.apache.commons tekst wspólny 1.12.0
org.apache.httpcomponents httpclient 4.5.14
org.apache.httpcomponents httpcore 4.4.16
org.apache.logging.log4j log4j-api 2.20.0
org.apache.logging.log4j log4j-core 2.20.0
org.apache.logging.log4j log4j-slf4j-impl 2.24.3
org.checkerframework checker-qual 3.33.0
org.jline jline 3.27.1
org.jline jline-reader 3.14.1
org.jline jline-terminal 3.14.1
org.json JSON 20240303
org.json4s json4s-ast_2.13 4.0.7
org.json4s json4s-core_2.13 4.0.7
org.json4s json4s-jackson-core_2.13 4.0.7
org.json4s json4s-jackson_2.13 4.0.7
org.json4s json4s-scalap_2.13 4.0.7
org.scala-lang scala-compiler_2.13 2.13.16
org.scala-lang scala-library_2.13 2.13.16
org.scala-lang scala-reflect_2.13 2.13.16
org.scala-lang scalap_2.13 2.13.13
org.scala-lang.modules scala-collection-compat_2.13 2.13.0
org.scala-lang.modules scala-java8-compat_2.13 1.0.2
org.scalameta io_2.13 4.13.10
org.scalameta interfejsy mtags 1.6.3
org.scalameta mtags-shared_2.13.16 1.6.3
org.scalameta mtags_2.13.16 1.6.3
org.scalameta parsers_2.13 4.13.10
org.scalameta scalameta_2.13 4.13.10
org.scalameta semanticdb-scalac-core_2.13.16 4.13.10
org.scalameta trees_2.13 4.13.10
org.slf4j slf4j-api 2.0.10
org.slf4j slf4j-nop 1.7.36
sh.almond channels_2.13 0.14.5
sh.almond coursier-logger_2.13 0.14.5
sh.almond interpreter-api_2.13 0.14.5
sh.almond interpreter_2.13 0.14.5
sh.almond jupyter-api_2.13 0.14.5
sh.almond kernel_2.13 0.14.5
sh.almond logger-scala2-macros_2.13 0.14.5
sh.almond logger_2.13 0.14.5
sh.almond protocol_2.13 0.14.5
sh.almond scala-interpreter_2.13.16 0.14.5
sh.almond scala-kernel-api_2.13.16 0.14.5
sh.almond scala-kernel_2.13.16 0.14.5
sh.almond shared-directives_2.13 0.14.5
sh.almond toree-hooks_2.13 0.14.5