Databricks Runtime 5.5 con Conda (sin soporte técnico)

Nota:

Esta versión ya no está disponible. Si desea usar Conda para administrar los entornos y bibliotecas de Python, use una versión compatible de Databricks Runtime for Machine Learning.

Nos complace presentar Databricks Runtime 5.5 con Conda (beta), que permite aprovechar las ventajas de Conda para administrar los entornos y las bibliotecas de Python. Este entorno en tiempo de ejecución ofrece dos opciones de entorno raíz de Conda durante la creación del clúster:

  • El entorno estándar de Databricks incluye versiones actualizadas de muchos paquetes populares de Python. Este entorno está pensado como reemplazo directo de los cuadernos existentes que se ejecutan en Databricks Runtime. Es el entorno en tiempo de ejecución predeterminado basado en Conda de Databricks.
  • El entorno mínimo de Databricks contiene el mínimo de paquetes necesarios para la funcionalidad de los cuadernos de Python para PySpark y Databricks. Este entorno es ideal si quiere personalizar el entorno en tiempo de ejecución con varios paquetes de Python.

Ambos incluyen compatibilidad con la utilidad de biblioteca (dbutils.library) (heredado) de Databricks.

Nota:

Las bibliotecas de Scala, Java y R en Databricks Runtime 5.5 con Conda son idénticas a las de Databricks Runtime 5.5. Para más información, consulte las notas de la versión de Databricks Runtime 5.5 LTS (sin soporte técnico). Para obtener información sobre cómo usar Databricks Runtime con Conda, consulte Conda.

Nuevas características

Se proporciona una nueva API de biblioteca con ámbito de cuaderno para admitir la actualización del entorno de Conda del cuaderno con una especificación YAML (consulte la documentación de Conda).

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

Por ejemplo, para actualizar la biblioteca numpy a 1.16.4, llame a lo siguiente:

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

Nota:

Puede obtener información detallada sobre updateCondaEnv mediante dbutils.library.help("updateCondaEnv").

Mejoras

  • Los paquetes de los entornos estándar y mínimo se actualizan a versiones más recientes. Consulte Bibliotecas para obtener la lista completa de versiones de paquetes. Estas son algunas actualizaciones de paquetes clave:
    • Python se actualizó a 3.7.3 desde 3.7.0
    • IPython se actualizó a 7.4.0 desde 6.5.0
    • pip actualizado a 19.0.3 desde 10.0.1
  • Para mejorar el aislamiento del entorno entre cuadernos, se habilita el aislamiento de procesos y el paso a través de ADLS.
  • Para permitir instalar paquetes mediante conda install sin necesidad de pasar la marca -y fácilmente olvidada, la opción de configuración always_yes de Conda ahora se establece en True en .condarc.

Entorno del sistema

El entorno del sistema de Databricks Runtime 5.5 con Conda se diferencia del de Databricks Runtime 5.5 en lo siguiente:

  • Python: 3.7.x. Solo se admite Python 3.

Bibliotecas

A continuación se muestra el archivo environment.yml exportado para los entornos raíz predeterminados de Databricks Runtime 5.5 con Conda.

Estándar de Databricks

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

Mínimo de Databricks

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