Databricks Runtime 6.0 com o Conda (sem suporte)
Observação
Esta versão não está mais disponível. Se você quer usar o Conda para gerenciar bibliotecas e ambientes do Python, use uma versão com suporte do Databricks Runtime para Machine Learning.
O Databricks Runtime 6.0 com o Conda permite que você aproveite o Conda para gerenciar bibliotecas e ambientes do Python. Esse runtime oferece duas opções de ambiente do Conda raiz na criação do cluster:
- O ambiente Databricks Standard inclui versões atualizadas de vários pacotes populares do Python. Esse ambiente destina-se a substituir os notebooks existentes que são executados em Databricks Runtime. É o ambiente de runtime padrão baseado em Conda do Databricks.
- O ambiente Databricks Minimal contém um número mínimo de pacotes necessários para a funcionalidade de notebooks do PySpark e Databricks Python. Esse ambiente é ideal para personalizar o runtime com vários pacotes do Python.
Ambos incluem suporte para o utilitário Databricks Library (dbutils.library) (legado).
Observação
As bibliotecas Scala, Java e R no Databricks Runtime 6.0 com o Conda são idênticas às do Databricks Runtime 6.0. Para obter detalhes, confira as notas sobre a versão do Databricks Runtime 6.0 (sem suporte). Para obter informações sobre como usar o Databricks Runtime com o Conda, confira Conda.
Novos recursos
Confira Novos recursos do Databricks Runtime 6.0.
Aprimoramentos
Confira Melhorias do Databricks Runtime 6.0.
Correção de bug
Corrigido o problema 9104 do Conda (a lista do Conda falha quando o arquivo “RECORD” tem entradas duplicadas).
Problemas conhecidos
Por padrão, todos os notebooks Python são executados em seu próprio ambiente Conda isolado. Esse ambiente isolado é clonado do ambiente raiz do Conda. Como essa clonagem é uma operação cara, em determinados casos você pode enfrentar os seguintes problemas:
Se o tipo de instância do cluster não tiver armazenamento local, a criação do cluster poderá falhar com um erro como:
Could not start Spark. This can happen when installing incompatible libraries or when initialization scripts failed. databricks_error_message: Spark failed to start: Timed out after ... seconds
Anexar simultaneamente muitos notebooks Python a um único cluster (por exemplo, disparado por trabalhos agendados ou fluxos de trabalho do notebook) pode causar falha na anexação de alguns desses notebooks.
Se você tiver algum dos problemas anteriores e não precisar executar notebooks Python em ambientes isolados (ou seja, o cluster não for compartilhado), poderá desabilitar a criação de um ambiente Python isolado para cada notebook Python definindo
spark.databricks.libraryIsolation.enabled
comofalse
na configuração do Spark. A definição desse sinalizador também desabilitadbutils.library
.Se você atualizar o Conda instalado, a nova versão do Conda poderá não incluir a correção do problema 9104 do Conda (a lista do Conda falhará se o arquivo "RECORD" tiver entradas duplicadas). Se você atualizar o Conda e encontrar falhas ao anexar notebooks Python ou ao usar
conda list
com o erroTypeError: '<' not supported between instances of 'NoneType' and 'str'
nos logs de driver ou em um notebook, use uma versão do Conda que tenha a correção ou evite atualizar o Conda instalado nesta versão.
Ambiente do sistema
O ambiente do sistema no Databricks Runtime 6.0 com Conda difere do Databricks Runtime 6.0 nestes pontos:
Há algumas diferenças nas bibliotecas Python instaladas.
Bibliotecas
A seguir está o arquivo exportado environment.yml
para ambientes raiz padrão no Databricks Runtime 6.0 com Conda.
Databricks Standard
name: databricks-standard
channels:
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- 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_1003
- 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_1
- 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.1=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.13.0
- pyparsing==2.4.2
- seaborn==0.9.0
prefix: /databricks/conda/envs/databricks-standard
Databricks Minimal
name: databricks-minimal
channels:
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- 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_1
- 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.13.0
prefix: /databricks/conda/envs/databricks-minimal