本文概述了无服务器环境版本 4 的系统环境信息。
为了确保应用程序的兼容性,无服务器工作负荷使用版本控制 API(称为环境版本),该 API 与较新的服务器版本保持兼容。
可以使用无服务器笔记本中的 “环境 ”端面板选择环境版本。 请参阅 “选择环境版本”。
新功能和改进
无服务器环境 4 中提供了以下新功能和改进。
无服务器计算上的 Spark ML 支持
无服务器计算现在支持 PySpark 中的 Spark ML(pyspark.ml)和环境版本 4 中的 Spark 的 MLflow(mlflow.spark)。 对于无服务器计算上的超参数优化,Databricks 建议使用 Optuna 和 Joblib Spark。
在无服务器计算上运行 SparkML 时,存在以下限制:
- 最大模型大小为 100MB。
- 每个会话的内存中模型的最大总大小为 1GB。
- 如果模型大小约为 100MB,则树模型训练会提前停止。
- 不支持以下 SparkML 模型:
- DistributedLDAModel
- FPGrowthModel
Databricks Connect 已升级到 17.0
使用 Databricks Connect for Databricks Runtime 17.0 上提供的功能和改进。
标量 Python UDF 现在支持服务凭据
标量 Python UDF 可以使用 Unity 目录服务凭据安全地访问外部云服务。 有关详细信息,请参阅 Scalar Python UDF 中的服务凭据。
PySpark 和 Spark Connect 现在支持 DataFrames df.mergeInto API
PySpark 和 Spark Connect 现在支持 df.mergeInto API,该 API 以前仅适用于 Scala。
API 更新
无服务器环境 4 包含以下 API 更新:
-
SPARK-50915在 中添加
getCondition和弃用getErrorClassPySparkException -
SPARK-50719对 PySpark 的支持
interruptOperation -
SPARK-50718对 PySpark 的支持
addArtifact(s) - SPARK-49530 支持 PySpark 绘图中的饼图子图
-
SPARK-50357
Interrupt(Tag|All)支持 PySpark 的 API -
SPARK-51178 引发正确的 PySpark 错误,而不是
SparkConnectGrpcException -
SPARK-51227 修复 PySpark 连接到
_minimum_grpc_version1.67.0 -
SPARK-50778 添加到
metadataColumnPySpark 数据帧 -
SPARK-50311
(add|remove|get|clear)Tag(s)支持 PySpark 的 API -
SPARK-50310 添加用于禁用
DataFrameQueryContextPySpark 的标志 - SPARK-50238 在 PySpark UDF/UDDF/UDAF 和 Python UC UDF 中添加变体支持
- SPARK-50183 统一 Pandas API 和 PySpark 绘图的内部函数
-
SPARK-50170移动到
_invoke_internal_function_over_columnspyspark.sql.utils - SPARK-50167 改进 PySpark 绘制错误消息和导入
-
SPARK-48961 使参数命名与
PySparkExceptionJVM 保持一致 - SPARK-49567 使用经典代码库而不是 PySpark 代码库中的 vanilla
-
SPARK-48755
transformWithStatePySpark 基本实现和支持ValueState -
SPARK-48714在 PySpark 中实现
DataFrame.mergeInto -
SPARK-47365 向 PySpark 添加
toArrow()DataFrame 方法 - 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.0.1
已安装的 Python 库
若要在本地 Python 虚拟环境中重现无服务器环境 4,请下载 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 | attrs | 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 | 巴别塔 | 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 | certifi | 2025.1.31 |
| cffi | 1.17.1 | chardet | 4.0.0 | charset-normalizer | 3.3.2 |
| 点击 | 8.1.7 | cloudpickle | 3.0.0 | 通讯 | 0.2.1 |
| contourpy | 1.3.1 | 加密 | 43.0.3 | 骑行者 | 0.11.0 |
| Cython | 3.0.12 | databricks-connect | 17.0.1 | 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 | facets-overview | 1.1.1 |
| fastapi | 0.115.12 | fastjsonschema | 2.21.1 | filelock | 3.18.0 |
| 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 | google-cloud-storage | 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 |
| 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-events | 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 | 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 | mccabe | 0.7.0 |
| mdurl | 0.1.0 | mistune | 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 | 笔记本 | 7.3.2 | notebook_shim | 0.2.3 |
| numpy | 2.1.3 | oauthlib | 3.2.2 | opentelemetry-api | 1.32.1 |
| opentelemetry-sdk | 1.32.1 | opentelemetry-semantic-conventions | 0.53b1 | 重写 | 7.4.0 |
| 包装 | 24.1 | 熊猫 | 2.2.3 | pandocfilters | 1.5.0 |
| parso | 0.8.4 | pathspec | 0.10.3 | 替罪羊 | 1.0.1 |
| pexpect | 4.8.0 | 枕头 | 11.1.0 | 果仁 | 25.0.1 |
| platformdirs | 3.10.0 | plotly | 5.24.1 | 插入 | 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 | Python代码解析器 | 2.21 | pydantic | 2.10.6 |
| pydantic_core | 2.27.2 | pyflakes | 3.2.0 | Pygments | 2.15.1 |
| PyGObject | 3.48.2 | pyiceberg | 0.9.0 | PyJWT | 2.10.1 |
| pyodbc | 5.2.0 | pyparsing | 3.2.0 | pyright | 1.1.394 |
| pyspark | 4.0.0+databricks.connect.17.0.1 | pytest | 8.3.5 | python-dateutil | 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 | 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 | 1.15.1 |
| seaborn | 0.13.2 | Send2Trash | 1.8.2 | setuptools | 74.0.0 |
| 6 | 1.16.0 | smmap | 5.0.0 | sniffio | 1.3.0 |
| sortedcontainers | 2.4.0 | 汤西夫 | 2.5 | sqlparse | 0.5.3 |
| ssh-import-id | 5.11 | stack-data | 0.2.0 | starlette | 0.46.2 |
| statsmodels | 0.14.4 | strictyaml | 1.7.3 | 韧性 | 9.0.0 |
| terminado | 0.17.1 | threadpoolctl | 3.5.0 | tinycss2 | 1.4.0 |
| tokenize_rt | 6.1.0 | tomli | 2.0.1 | 龙卷风 | 6.4.2 |
| Traitlets | 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-template | 1.3.0 | urllib3 | 2.3.0 |
| uvicorn | 0.34.2 | virtualenv | 20.29.3 | wadllib | 1.3.6 |
| wcwidth | 0.2.5 | webcolors | 24.11.1 | Web编码 | 0.5.1 |
| websocket-client | 1.8.0 | whatthepatch | 1.0.2 | wheel | 0.45.1 |
| widgetsnbextension | 3.6.6 | 裹住 | 1.17.0 | yapf | 0.40.2 |
| zip | 3.21.0 | zstandard | 0.23.0 |