Бессерверная среда версии 4

В этой статье описаны сведения о системной среде для бессерверной среды версии 4.

Чтобы обеспечить совместимость приложений, бессерверные рабочие нагрузки используют версию API, известную как версия среды, которая остается совместимой с более новыми версиями сервера.

Вы можете выбрать исходную среду, включающую в себя эту версию среды, с помощью панели среда в бессерверных записных книжках. См. раздел "Выбор базовой среды".

Новые функции и улучшения

Следующие новые функции и улучшения доступны в бессерверной среде 4.

Поддержка машинного обучения Spark на бессерверных вычислениях

Бессерверные вычисления теперь поддерживают машинное обучение Spark в PySpark (pyspark.ml) и MLflow для Spark (mlflow.spark) в среде 4. Для настройки гиперпараметров на бессерверных вычислениях Databricks рекомендует использовать Optuna и Joblib Spark.

Следующие ограничения применяются при запуске SparkML на бессерверных вычислениях:

  • Максимальный размер модели составляет 100 МБ.
  • Максимальный общий размер моделей в памяти на сеанс составляет 1 ГБ.
  • Обучение модели дерева прекращается раньше времени, если размер модели около того, чтобы превысить 100 МБ.
  • Следующие модели SparkML не поддерживаются:
    • DistributedLDAModel
    • FPGrowthModel

Скалярные пользовательские функции Python теперь поддерживают служебные учетные данные

Скалярные пользовательские функции Python могут использовать учетные данные службы Unity Catalog для безопасного доступа к внешним облачным службам. Дополнительные сведения см. в разделе "Учетные данные службы в скалярных Python-функциях UDF".

PySpark и Spark Connect теперь поддерживают API DataFrames df.mergeInto

PySpark и Spark Connect теперь поддерживают df.mergeInto API, который ранее был доступен только для Scala.

Обновления API

Бессерверная среда 4 включает следующие обновления API:

  • SPARK-50915 Добавить getCondition и отметить как устаревший getErrorClass в PySparkException
  • SPARK-50719 Поддержка для interruptOperation PySpark
  • SPARK-50718 Поддержка addArtifact(s) PySpark
  • SPARK-49530 Поддержка подграфиков с круговыми диаграммами в PySpark
  • SPARK-50357 Поддержка API Interrupt(Tag|All) для PySpark
  • SPARK-51178 Вызвать корректную ошибку PySpark вместо SparkConnectGrpcException
  • SPARK-51227 Исправить PySpark Connect _minimum_grpc_version к версии 1.67.0
  • SPARK-50778 Добавить metadataColumn в DataFrame PySpark
  • SPARK-50311 поддерживающие API (add|remove|get|clear)Tag(s) для PySpark
  • SPARK-50310 Добавить флаг для отключения DataFrameQueryContext в PySpark
  • SPARK-50238 Добавление поддержки вариантов типов данных в UDF/UDTF/UDAF PySpark и UC UDF Python
  • SPARK-50183 Объединение внутренних функций для API Pandas и PySpark Plotting
  • SPARK-50170 Перейти _invoke_internal_function_over_columns к pyspark.sql.utils
  • SPARK-50167 Улучшение отображения сообщений об ошибках и импорта PySpark
  • SPARK-48961 Создание именования PySparkException параметров в соответствии с JVM
  • SPARK-49567 Использовать классическую версию вместо базовой из базы кода PySpark
  • SPARK-48755transformWithState Базовая реализация и ValueState поддержка PySpark
  • SPARK-48714 Реализация DataFrame.mergeInto в PySpark
  • SPARK-47365 Добавление toArrow() метода DataFrame в PySpark
  • SPARK-48075 Проверка типов для функций PySpark avro
  • SPARK-46984 Убирать pyspark.copy_func
  • SPARK-46213 Представление PySparkImportError для фреймворка ошибок
  • SPARK-46226 Перенос всех оставшихся RuntimeError в структуру обработки ошибок PySpark
  • SPARK-45450 Исправить импорт в соответствии с PEP8: pyspark.pandas и pyspark (основной модуль)

Системная среда

  • Операционная система: Ubuntu 24.04.2 LTS
  • Python: 3.12.3
  • Databricks Connect: 17 (Databricks Connect постоянно обновляется в последней версии бессерверной среды. Выполните команду pip list , чтобы подтвердить точную версию в текущей среде.)
  • Scala: 2.13.16
  • JDK: 17

Установленные библиотеки Python

Чтобы воспроизвести бессерверную среду 4 в локальной виртуальной среде Python, скачайте файлrequirements-env-4.txt и запустите pip install -r requirements-env-4.txtего. Эта команда устанавливает все библиотеки с открытым исходным кодом из бессерверной среды 4.

Library Версия Library Версия Library Версия
аннотированные типы 0.7.0 anyio 4.6.2 argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0 стрела 1.3.0 asttokens 2.0.5
astunparse 1.6.3 async-lru 2.0.4 атрибуты 24.3.0
autocommand 2.2.2 azure-common 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
backports.tarfile 1.2.0 beautifulsoup4 4.12.3 чёрный 24.10.0
отбеливатель 6.2.0 блинкер 1.7.0 boto3 1.36.2
botocore 1.36.3 cachetools 5.5.1 сертификат 2025.1.31
cffi 1.17.1 chardet 4.0.0 charset-normalizer 3.3.2
щелчок 8.1.7 Клаудпикл 3.0.0 коммуникация 0.2.1
контурная диаграмма 1.3.1 криптография 43.0.3 велосипедист 0.11.0
Cython 3.0.12 databricks-connect 17.2.3 databricks-sdk 0.49.0
dbus-python 1.3.2 debugpy 1.8.11 декоратор 5.1.1
defusedxml 0.7.1 Deprecated 1.2.13 distlib 0.3.9
docstring-to-markdown 0.11 Запуск 0.8.3 обзор аспектов 1.1.1
fastapi 0.115.12 fastjsonschema 2.21.1 блокировка файлов 3.18.0
шрифтовые инструменты 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 хранилище Google Cloud 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 httplib2 0.20.4 httpx 0.27.0
IDNA 3.7 importlib-metadata 6.6.0 importlib_resources 6.4.0
гнуть 7.3.1 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 isoduration 20.11.0
jaraco.context 5.3.0 jaraco.functools 4.0.1 jaraco.text 3.12.1
джедаи 0.19.2 Джинджа2 3.1.5 jmespath 1.0.1
joblib 1.4.2 json5 0.9.25 jsonpointer 3.0.0
jsonschema (JSON-схема) 4.23.0 jsonschema-спецификации 2023.7.1 jupyter-события 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-мини-приложения 1.0.0 jupyterlab_server 2.27.3
Кивисолвер 1.4.8 launchpadlib 1.11.0 lazr.restfulclient 0.14.6
lazr.uri 1.0.6 markdown-it-py 2.2.0 MarkupSafe 3.0.2
matplotlib 3.10.0 matplotlib-inline 0.1.7 Маккейб 0.7.0
mdurl 0.1.0 Мистун 2.0.4 mlflow-skinny 2.22.0
mmh3 5.1.0 more-itertools 10.3.0 msal 1.32.3
msal-extensions 1.3.1 mypy-extensions 1.0.0 nbclient 0.8.0
Перекодировщик nbconvert 7.16.4 nbformat 5.10.4 nest-asyncio 1.6.0
nodeenv 1.9.1 notebook 7.3.2 ноутбук_шим 0.2.3
numpy (библиотека для работы с массивами и матрицами в Python) 2.1.3 Оаутхлиб 3.2.2 opentelemetry-api 1.32.1
opentelemetry-sdk 1.32.1 семантические соглашения opentelemetry 0.53b1 Переопределения 7.4.0
упаковка 24.1 Панды 2.2.3 пандокфильтры 1.5.0
парсинг 0.8.4 спецификация пути 0.10.3 простак 1.0.1
pexpect (библиотека Python для автоматизации взаимодействия с приложениями) 4.8.0 подушка 11.1.0 пит 25.0.1
platformdirs 3.10.0 график 5.24.1 pluggy 1.5.0
prometheus_client 0.21.0 prompt-toolkit (инструментарий подсказок) 3.0.43 proto-plus 1.26.1
protobuf (протобуф) 5.29.4 psutil 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 Пигменты 2.15.1
PyGObject 3.48.2 pyiceberg 0.9.0 PyJWT 2.10.1
pyodbc 5.2.0 pyparsing (библиотека для синтаксического анализа в Python) 3.2.0 pyright 1.1.394
pyspark 4.0.0+databricks.connect.17.2.3 pytest 8.3.5 python-dateutil (библиотека для работы с датами и временем в Python) 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 (библиотека Python для работы с часовыми поясами) 2024.1 PyYAML 6.0.2
pyzmq 26.2.0 Ссылки 0.30.2 Запросы 2.32.3
rfc3339-validator 0.1.4 rfc3986-validator 0.1.1 богатый 13.9.4
верёвка 1.12.0 rpds-py 0.22.3 rsa 4.9.1
s3transfer 0.11.3 scikit-learn (библиотека машинного обучения) 1.6.1 scipy (библиотека Python) 1.15.1
мореборн 0.13.2 Send2Trash 1.8.2 setuptools (пакет для установки и управления Python-пакетами) 74.0.0
шесть 1.16.0 smmap 5.0.0 sniffio 1.3.0
sortedcontainers 2.4.0 soupsieve 2.5 sqlparse 0.5.3
ssh-import-id 5.11 stack-data 0.2.0 starlette 0.46.2
statsmodels (библиотека Python для статистического моделирования) 0.14.4 strictyaml 1.7.3 упорство 9.0.0
завершено 0.17.1 Threadpoolctl 3.5.0 tinycss2 1.4.0
tokenize_rt 6.1.0 tomli 2.0.1 торнадо 6.4.2
Трейтлеты 5.14.3 typeguard 4.3.0 types-python-dateutil 2.9.0.20241206
typing_extensions 4.12.2 tzdata 2024.1 ujson 5.10.0
обновления без вмешательства пользователя 0.1 шаблон URI 1.3.0 urllib3 2.3.0
uvicorn 0.34.2 virtualenv 20.29.3 wadllib 1.3.6
wcwidth (ширина символа в Unicode) 0.2.5 webcolors 24.11.1 веб-энкодинги 0.5.1
websocket-client 1.8.0 whatthepatch 1.0.2 колесо 0.45.1
widgetsnbextension 3.6.6 завёрнут 1.17.0 yapf 0.40.2
ZIPP 3.21.0 zstandard 0.23.0

Установленные библиотеки Java и Scala (Scala 2.13)

Идентификатор группы Идентификатор артефакта Версия
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 аннотации Джексона 2.15.2
com.fasterxml.jackson.core джексон-ядро 2.15.2
com.fasterxml.jackson.core джексон-databind 2.15.2
com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.15.2
com.google.auth google-auth-library-учетные данные 1.20.0
com.google.auth google-auth-library-oauth2-http 1.20.0
com.google.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-client 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
коммонс-логгинг коммонс-логгинг 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 commons-text 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 джлайн 3.27.1
org.jline jline-reader 3.14.1
org.jline jline-terminal 3.14.1
org.json JSON (формат обмена данными JavaScript) 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 Mtags-interfaces 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 интерпретатор-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