Share via


Databricks Runtime 6.0 met Conda (niet ondersteund)

Notitie

Deze release is niet meer beschikbaar. Als u Conda wilt gebruiken om Python-bibliotheken en -omgevingen te beheren, gebruikt u een ondersteunde versie van Databricks Runtime voor Machine Learning.

Met Databricks Runtime 6.0 met Conda (bèta) kunt u profiteren van Conda om Python-bibliotheken en -omgevingen te beheren. Deze runtime biedt twee hoofd-Conda-omgevingsopties bij het maken van clusters:

  • Databricks Standard-omgeving bevat bijgewerkte versies van veel populaire Python-pakketten. Deze omgeving is bedoeld als vervanging voor bestaande notebooks die worden uitgevoerd in Databricks Runtime. Dit is de standaard runtime-omgeving op basis van Databricks Conda.
  • De Minimale Databricks-omgeving bevat een minimum aantal pakketten die vereist zijn voor de functionaliteit van PySpark en Databricks Python-notebooks. Deze omgeving is ideaal als u de runtime wilt aanpassen met verschillende Python-pakketten.

Beide omvatten ondersteuning voor het databricks-bibliotheekhulpprogramma (dbutils.library) (verouderd).

Notitie

De Scala-, Java- en R-bibliotheken in Databricks Runtime 6.0 met Conda zijn identiek aan die in Databricks Runtime 6.0. Zie de releaseopmerkingen van Databricks Runtime 6.0 (niet-ondersteund). Zie Conda voor meer informatie over het gebruik van Databricks Runtime met Conda.

Nieuwe functies

Zie Databricks Runtime 6.0 Nieuwe functies.

Verbeteringen

Zie Verbeteringen in Databricks Runtime 6.0.

Opgeloste fout

Conda-probleem 9104 opgelost (Conda List mislukt als het bestand RECORD dubbele vermeldingen bevat).

Bekende problemen

  • Standaard wordt elke Python-notebook uitgevoerd in een eigen geïsoleerde Conda-omgeving. Deze geïsoleerde omgeving wordt gekloond vanuit de Conda-hoofdomgeving. Omdat deze kloon een dure bewerking is, kunnen er voor bepaalde gevallen de volgende problemen optreden:

    • Als het clusterexemplarentype geen lokale opslag heeft, kan het maken van het cluster mislukken met een fout zoals:

      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
      
    • Het gelijktijdig koppelen van veel Python-notebooks aan één cluster (bijvoorbeeld geactiveerd door geplande taken of notebookwerkstromen) kan ertoe leiden dat sommige van deze notebooks niet kunnen worden gekoppeld.

    Als u een van de bovenstaande problemen ondervindt en u Python-notebooks niet hoeft uit te voeren in geïsoleerde omgevingen (dat wil gezegd, uw cluster wordt niet gedeeld), kunt u het maken van een geïsoleerde Python-omgeving voor elk Python-notebook uitschakelen door deze in te false stellen spark.databricks.libraryIsolation.enabled in de Spark-configuratie. Als u deze vlag instelt, wordt ook uitgeschakeld dbutils.library.

  • Als u de geïnstalleerde Conda upgradet, bevat de nieuwe versie van Conda mogelijk niet de oplossing voor Conda-probleem 9104 (Conda List mislukt als het bestand RECORD dubbele vermeldingen bevat). Als u Conda bijwerkt en fouten ziet bij het koppelen van Python-notebooks of het gebruik conda list met de fout TypeError: '<' not supported between instances of 'NoneType' and 'str' in stuurprogrammalogboeken of op een notebook, gebruikt u een versie van Conda waarop de oplossing is geïnstalleerd of vermijdt u een upgrade van Conda die in deze release is geïnstalleerd.

Systeemomgeving

De systeemomgeving in Databricks Runtime 6.0 met Conda verschilt als volgt van Databricks Runtime 6.0:

Er zijn enkele verschillen in de geïnstalleerde Python-bibliotheken.

Bibliotheken

Hier volgt het geëxporteerde environment.yml bestand voor standaardhoofdomgevingen in Databricks Runtime 6.0 met 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 Minimaal

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