本文概述了无服务器环境版本 3 的系统环境信息。
为了确保应用程序的兼容性,无服务器工作负荷使用版本控制 API(称为环境版本),该 API 与较新的服务器版本保持兼容。
可以使用无服务器笔记本中的 环境 侧面板选择环境版本。 请参阅 “选择环境版本”。
新功能和改进
无服务器环境 3 中提供了以下新功能和改进。
API 更新
2025 年 8 月 18 日
标量 Python UDF 现在支持服务凭据
标量 Python UDF 可以使用 Unity 目录服务凭据安全地访问外部云服务。 有关详细信息,请参阅 Scalar Python UDF 中的服务凭据。
2025 年 6 月 13 日
无服务器环境 3 包括以下 API 更新:
- 向 Python 数据源添加了筛选器下推 API 支持。 请参阅 向 Python 数据源添加筛选器下推 API 支持。
- Python UDF 回溯现在包括驱动程序和执行程序的帧以及客户端帧。 请参阅 Python UDF 异常追踪改进。
- 新的
listagg和string_agg函数聚合STRING和BINARY组中的值。 请参阅 “新建listagg”和string_agg“函数”。 -
variant_get和get_json_object现在会考虑 Apache Spark 中路径的前导空格。 请参阅 variant_get 和 get_json_object 现在会考虑 Apache Spark 中路径的前导空格。 - SPARK-51079 使用 Arrow 支持 pandas UDF、createDataFrame 和 toPandas 中的大型变量类型。
-
SPARK-51186 在 PySpark 的基本异常中添加
StreamingPythonRunnerInitializationException。 -
SPARK-51112 避免在空表中使用 pyarrow
to_pandas。 -
SPARK-51506 [PYTHON][ss] 不要强制用户在
TransformWithStateInPandas中实现 close() -
SPARK-51425 [Connect] 添加客户端 API 以设置自定义
operation_id - SPARK-51206 [PYTHON][connect] 将箭头转换帮助程序移出 Spark Connect
Databricks Connect 已升级到 16.3
2025 年 6 月 13 日
使用 Databricks Connect for Databricks Runtime 16.3 上提供的功能和改进。 请参阅 Databricks Connect for Databricks Runtime 16.3。
改进的 Python 语法错误突出显示
2025 年 6 月 13 日
Python 语法错误突出显示将进行以下改进:
- 更快的错误处理延迟。
- 支持 Python 类型错误突出显示。
- 通过
pyproject.toml文件实现 Linter 可配置性。
请参阅 Python 错误突出显示。
Web 终端和笔记本中的 Git CLI 支持
2025 年 6 月 13 日
现在可以在无服务器笔记本和无服务器笔记本的 Web 终端中使用 Git CLI。
关于冲突的环境版本的行为变化
2025 年 6 月 13 日
如果无服务器环境版本在笔记本 的环境 面板和自定义基础环境文件中声明,则基本环境的版本优先,除非两个声明的版本都低于版本 3,在这种情况下使用笔记本的版本。
例如:
- 如果笔记本使用 v1,并且基础环境使用 v3,则工作负荷将使用 v3。
- 如果笔记本使用 v1,并且基础环境使用 v2,则工作负荷将使用 v1。
- 如果笔记本使用 v3,并且基础环境使用 v1,则工作负荷将使用 v1。
- 如果笔记本使用 v2,并且基础环境使用 v1,则工作负荷将使用 v2。
系统环境
- 操作系统:Ubuntu 24.04.2 LTS
- Python:3.12.3
- Databricks Connect:16.4.2
已安装的 Python 库
若要在本地 Python 虚拟环境中重现无服务器环境 3,请下载 requirements-env-3.txt 文件并运行 pip install -r requirements-env-3.txt。 此命令从无服务器环境 3 安装所有开源库。
| Library | Version | Library | Version | Library | Version |
|---|---|---|---|---|---|
| annotated-types | 0.7.0 | anyio | 4.2.0 | asttokens | 2.0.5 |
| astunparse | 1.6.3 | autocommand | 2.2.2 | azure-core | 1.33.0 |
| azure-storage-blob | 12.23.0 | azure-storage-file-datalake | 12.17.0 | backports.tarfile | 1.2.0 |
| black | 24.4.2 | blinker | 1.7.0 | boto3 | 1.34.69 |
| botocore | 1.34.69 | cachetools | 5.3.3 | certifi | 2024.6.2 |
| cffi | 1.16.0 | chardet | 4.0.0 | charset-normalizer | 2.0.4 |
| click | 8.1.7 | cloudpickle | 3.0.0 | comm | 0.2.1 |
| contourpy | 1.2.0 | 加密 | 42.0.5 | cycler | 0.11.0 |
| Cython | 3.0.11 | databricks-connect | 16.4.2 | databricks-sdk | 0.49.0 |
| dbus-python | 1.3.2 | debugpy | 1.6.7 | 修饰器 | 5.1.1 |
| Deprecated | 1.2.18 | dill | 0.3.8 | distlib | 0.3.8 |
| executing | 0.8.3 | facets-overview | 1.1.1 | fastapi | 0.115.12 |
| filelock | 3.15.4 | fonttools | 4.51.0 | gitdb | 4.0.11 |
| GitPython | 3.1.37 | google-api-core | 2.20.0 | google-auth | 2.38.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.69.2 | grpcio | 1.71.0 |
| grpcio-status | 1.71.0 | h11 | 0.14.0 | httplib2 | 0.20.4 |
| idna | 3.7 | importlib-metadata | 7.0.1 | inflect | 7.3.1 |
| iniconfig | 1.1.1 | ipyflow-core | 0.0.206 | ipykernel | 6.29.5 |
| ipython | 8.32.0 | ipython-genutils | 0.2.0 | ipywidgets | 7.7.2 |
| isodate | 0.7.2 | jaraco.collections | 5.1.0 | jaraco.context | 5.3.0 |
| jaraco.functools | 4.0.1 | jaraco.text | 3.12.1 | jedi | 0.19.1 |
| jmespath | 1.0.1 | joblib | 1.4.2 | jupyter_client | 8.6.0 |
| jupyter_core | 5.7.2 | kiwisolver | 1.4.4 | launchpadlib | 1.11.0 |
| lazr.restfulclient | 0.14.6 | lazr.uri | 1.0.6 | matplotlib | 3.8.4 |
| matplotlib-inline | 0.1.6 | mlflow-skinny | 2.21.3 | more-itertools | 10.3.0 |
| mypy-extensions | 1.0.0 | nest-asyncio | 1.6.0 | numpy | 1.26.4 |
| oauthlib | 3.2.2 | opentelemetry-api | 1.31.1 | opentelemetry-sdk | 1.31.1 |
| opentelemetry-semantic-conventions | 0.52b1 | packaging | 24.1 | pandas | 1.5.3 |
| parso | 0.8.3 | pathspec | 0.10.3 | patsy | 0.5.6 |
| pexpect | 4.8.0 | pillow | 10.3.0 | pip | 25.0.1 |
| platformdirs | 3.10.0 | plotly | 5.22.0 | pluggy | 1.5.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.7 | pyarrow | 15.0.2 |
| pyasn1 | 0.4.8 | pyasn1-modules | 0.2.8 | pyccolo | 0.0.68 |
| pycparser | 2.21 | pydantic | 2.8.2 | pydantic_core | 2.20.1 |
| Pygments | 2.15.1 | PyGObject | 3.48.2 | PyJWT | 2.7.0 |
| pyodbc | 5.0.1 | pyparsing | 3.0.9 | pytest | 8.3.0 |
| python-dateutil | 2.9.0.post0 | python-lsp-jsonrpc | 1.1.2 | pytz | 2024.1 |
| PyYAML | 6.0.1 | pyzmq | 25.1.2 | requests | 2.32.2 |
| rsa | 4.9 | s3transfer | 0.10.4 | scikit-learn | 1.4.2 |
| scipy | 1.13.1 | seaborn | 0.13.2 | setuptools | 75.8.0 |
| six | 1.16.0 | smmap | 5.0.0 | sniffio | 1.3.0 |
| sqlparse | 0.5.3 | ssh-import-id | 5.11 | stack-data | 0.2.0 |
| starlette | 0.46.1 | statsmodels | 0.14.2 | tenacity | 8.2.2 |
| threadpoolctl | 2.2.0 | tokenize-rt | 4.2.1 | tomli | 2.0.1 |
| tornado | 6.4.1 | traitlets | 5.14.3 | typeguard | 4.3.0 |
| typing_extensions | 4.11.0 | tzdata | 2024.1 | ujson | 5.10.0 |
| unattended-upgrades | 0.1 | urllib3 | 2.2.2 | uvicorn | 0.34.0 |
| virtualenv | 20.29.2 | wadllib | 1.3.6 | wcwidth | 0.2.5 |
| wheel | 0.45.1 | wrapt | 1.14.1 | zipp | 3.17.0 |
| zstandard | 0.23.0 |