本文概述了无服务器环境版本 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.19
已安装的 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 | azure-core | 1.33.0 | azure-storage-blob | 12.23.0 |
| azure-storage-file-datalake | 12.17.0 | black | 24.4.2 | 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.19 | databricks-sdk | 0.49.0 |
| debugpy | 1.6.7 | 修饰器 | 5.1.1 | Deprecated | 1.2.18 |
| dill | 0.3.8 | executing | 0.8.3 | facets-overview | 1.1.1 |
| fastapi | 0.115.12 | 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 | idna | 3.7 |
| importlib-metadata | 7.0.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 | 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 | matplotlib | 3.8.4 |
| matplotlib-inline | 0.1.6 | mlflow-skinny | 2.21.3 | mypy-extensions | 1.0.0 |
| nest-asyncio | 1.6.0 | numpy | 1.26.4 | 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.9 |
| 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 | 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 | smmap | 5.0.0 | sniffio | 1.3.0 |
| sqlparse | 0.5.3 | 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 | tornado | 6.4.1 | traitlets | 5.14.3 |
| typing_extensions | 4.11.0 | tzdata | 2024.1 | ujson | 5.10.0 |
| urllib3 | 2.2.2 | uvicorn | 0.34.0 | wcwidth | 0.2.5 |
| wrapt | 1.14.1 | zipp | 3.17.0 | zstandard | 0.23.0 |