带有 Conda 的 Databricks Runtime 5.5 (EoS)

注意

对此 Databricks Runtime 版本的支持已结束。 有关终止支持日期,请参阅终止支持历史记录。 有关所有受支持的 Databricks Runtime 版本,请参阅 Databricks Runtime 发行说明版本和兼容性

注意

此版本不再可用。 如果要使用 Conda 来管理 Python 库和环境,请使用用于机器学习的 Databricks Runtime 的受支持版本

我们非常高兴能引入带有 Conda (Beta) 的 Databricks Runtime 5.5,它可以让你利用 Conda 来管理 Python 库和环境。 此运行时在创建群集时提供两个 Conda 根环境选项:

  • Databricks Standard 环境包括许多常用 Python 包的更新版本。 此环境旨在临时替代在 Databricks Runtime 上运行的现有笔记本。 这是基于 Databricks Conda 的默认运行时环境。
  • Databricks Minimal 环境包含 PySpark 和 Databricks Python 笔记本功能所需的最小数量的包。 这个环境非常适合使用各种 Python 包进行运行时自定义。

两者都包含对 Databricks 库实用工具 (dbutils.library)(旧版)的支持。

注意

带有 Conda 的 Databricks Runtime 5.5 中的 Scala、Java 和 R 库与 Databricks Runtime 5.5 中的相同。 有关详细信息,请参阅 Databricks Runtime 5.5 LTS EoS) 发行说明。 若要了解如何将 Databricks Runtime 与 Conda 配合使用,请参阅 Conda

新功能

提供了一个新的笔记本范围的库 API,以支持使用 YAML 规范更新笔记本的 Conda 环境(请参阅 Conda 文档)。

dbutils.library.updateCondaEnv('''envYmlContent''')

例如,若要将 numpy 库更新到 1.16.4,请调用以下内容:

dbutils.library.updateCondaEnv(
"""channels:
  - default
dependencies:
  - numpy=1.16.4""")

注意

可以使用 dbutils.library.help("updateCondaEnv") 获取有关 updateCondaEnv 的详细信息。

改进

  • 标准环境和最小环境中的包已更新为更新的版本。 有关包版本的完整列表,请参阅。 下面是一些关键包更新:
    • Python 已从 3.7.0 更新至 3.7.3
    • IPython 已从 6.5.0 更新至 7.4.0
    • pip 已从 10.0.1 更新至 19.0.3
  • 为了改进笔记本之间的环境隔离,启用了进程隔离和 ADLS 传递。
  • 为了让你使用 conda install 安装软件包而无需传递容易忘记的 -y 标志,现在 .condarc 中的 always_yes Conda 配置选项已设置为 True

系统环境

带有 Conda 的 Databricks Runtime 5.5 中的系统环境与 Databricks Runtime 5.5 不同,如下所示:

  • Python:3.7.x。 仅支持 Python 3。

下面是带有 Conda 的 Databricks Runtime 5.5 上默认根环境的导出的 environment.yml 文件。

Databricks Standard

name: databricks-standard
channels:
  - defaults
dependencies:
  - asn1crypto=0.24.0=py37_0
  - backcall=0.1.0=py37_0
  - blas=1.0=openblas
  - boto=2.49.0=py37_0
  - boto3=1.9.162=py_0
  - botocore=1.12.163=py_0
  - ca-certificates=2019.1.23=0
  - certifi=2019.3.9=py37_0
  - cffi=1.12.2=py37h2e261b9_1
  - chardet=3.0.4=py37_1
  - cryptography=2.6.1=py37h1ba5d50_0
  - cython=0.29.6=py37he6710b0_0
  - decorator=4.4.0=py37_1
  - docutils=0.14=py37_0
  - idna=2.8=py37_0
  - ipython=7.4.0=py37h39e3cac_0
  - ipython_genutils=0.2.0=py37_0
  - jedi=0.13.3=py37_0
  - jmespath=0.9.4=py_0
  - krb5=1.16.1=h173b8e3_7
  - libedit=3.1.20181209=hc058e9b_0
  - libffi=3.2.1=hd88cf55_4
  - libgcc-ng=8.2.0=hdf63c60_1
  - libgfortran-ng=7.3.0=hdf63c60_0
  - libopenblas=0.3.6=h5a2b251_0
  - libpq=11.2=h20c2e04_0
  - libstdcxx-ng=8.2.0=hdf63c60_1
  - ncurses=6.1=he6710b0_1
  - nomkl=3.0=0
  - numpy=1.16.2=py37h99e49ec_0
  - numpy-base=1.16.2=py37h2f8d375_0
  - openssl=1.1.1b=h7b6447c_1
  - pandas=0.24.2=py37he6710b0_0
  - parso=0.3.4=py37_0
  - patsy=0.5.1=py37_0
  - pexpect=4.6.0=py37_0
  - pickleshare=0.7.5=py37_0
  - pip=19.0.3=py37_0
  - prompt_toolkit=2.0.9=py37_0
  - psycopg2=2.7.6.1=py37h1ba5d50_0
  - ptyprocess=0.6.0=py37_0
  - pycparser=2.19=py37_0
  - pygments=2.3.1=py37_0
  - pyopenssl=19.0.0=py37_0
  - pysocks=1.6.8=py37_0
  - python=3.7.3=h0371630_0
  - python-dateutil=2.8.0=py37_0
  - pytz=2018.9=py37_0
  - readline=7.0=h7b6447c_5
  - requests=2.21.0=py37_0
  - s3transfer=0.2.0=py37_0
  - scikit-learn=0.20.3=py37h22eb022_0
  - scipy=1.2.1=py37he2b7bc3_0
  - setuptools=40.8.0=py37_0
  - six=1.12.0=py37_0
  - sqlite=3.27.2=h7b6447c_0
  - statsmodels=0.9.0=py37h035aef0_0
  - tk=8.6.8=hbc83047_0
  - traitlets=4.3.2=py37_0
  - urllib3=1.24.1=py37_0
  - wcwidth=0.1.7=py37_0
  - wheel=0.33.1=py37_0
  - xz=5.2.4=h14c3975_4
  - zlib=1.2.11=h7b6447c_3
  - pip:
    - cycler==0.10.0
    - kiwisolver==1.1.0
    - matplotlib==3.0.3
    - pyarrow==0.12.0
    - pyparsing==2.4.0
    - seaborn==0.9.0
prefix: /databricks/conda/envs/databricks-standard

Databricks Minimal

name: databricks-minimal
channels:
  - defaults
dependencies:
  - backcall=0.1.0=py37_0
  - blas=1.0=openblas
  - ca-certificates=2019.1.23=0
  - certifi=2019.3.9=py37_0
  - decorator=4.4.0=py37_1
  - ipython=7.4.0=py37h39e3cac_0
  - ipython_genutils=0.2.0=py37_0
  - jedi=0.13.3=py37_0
  - libedit=3.1.20181209=hc058e9b_0
  - libffi=3.2.1=hd88cf55_4
  - libgcc-ng=8.2.0=hdf63c60_1
  - libgfortran-ng=7.3.0=hdf63c60_0
  - libopenblas=0.3.6=h5a2b251_0
  - libstdcxx-ng=8.2.0=hdf63c60_1
  - ncurses=6.1=he6710b0_1
  - nomkl=3.0=0
  - numpy=1.16.2=py37h99e49ec_0
  - numpy-base=1.16.2=py37h2f8d375_0
  - openssl=1.1.1b=h7b6447c_1
  - pandas=0.24.2=py37he6710b0_0
  - parso=0.3.4=py37_0
  - pexpect=4.6.0=py37_0
  - pickleshare=0.7.5=py37_0
  - pip=19.0.3=py37_0
  - prompt_toolkit=2.0.9=py37_0
  - ptyprocess=0.6.0=py37_0
  - pygments=2.3.1=py37_0
  - python=3.7.3=h0371630_0
  - python-dateutil=2.8.0=py37_0
  - pytz=2018.9=py37_0
  - readline=7.0=h7b6447c_5
  - setuptools=40.8.0=py37_0
  - six=1.12.0=py37_0
  - sqlite=3.27.2=h7b6447c_0
  - tk=8.6.8=hbc83047_0
  - traitlets=4.3.2=py37_0
  - wcwidth=0.1.7=py37_0
  - wheel=0.33.1=py37_0
  - xz=5.2.4=h14c3975_4
  - zlib=1.2.11=h7b6447c_3
  - pip:
    - pyarrow==0.12.0
prefix: /databricks/conda/envs/databricks-minimal