Databricks Runtime 6.0 with Conda (サポート対象外)

Note

このリリースは使用できなくなりました。 Conda を使用して Python ライブラリおよび環境を管理する場合は、Databricks Runtime for Machine Learning のサポートされているバージョンを使用してください。

Databricks Runtime 6.0 Conda (ベータ版) を使用すると、Conda を利用して Python ライブラリおよび環境を管理できます。 このランタイムでは、クラスター作成時に次の 2 つのルート Conda 環境オプションを提供します。

  • Databricks Standard 環境には、多くの一般的な Python パッケージの更新されたバージョンが含まれています。 この環境は、Databricks Runtime で実行される既存のノートブックの一時的な置き換えを目的としています。 これは、既定の Databricks Conda ベースのランタイム環境です。
  • Databricks Minimal 環境には、PySpark と Databricks Python ノートブックの機能に必要な最小数のパッケージが含まれています。 この環境は、さまざまな Python パッケージを使用してランタイムをカスタマイズする場合に最適です。

どちらにも Databricks ライブラリ ユーティリティ (dbutils.library) (レガシ) のサポートが含まれています。

Note

Databricks Runtime 6.0 with Conda 内の Scala、Java、R の各ライブラリは、Databricks Runtime 6.0 にあるものと同じです。 詳細については、Databricks Runtime 6.0 (サポート対象外) のリリース ノートを参照してください。 Databricks Runtime with Conda の使用方法については、Conda のページをご覧ください。

新機能

Databricks Runtime 6.0 の「新機能」を参照してください。

機能強化

Databricks Runtime 6.0 の「機能強化」を参照してください。

バグの修正

issue 9104 ("RECORD" ファイルのエントリが重複している場合に Conda List が失敗する) を修正しました。

既知の問題

  • 既定では、すべての Python ノートブックは、独自の分離された Conda 環境で実行されます。 この分離環境は、ルート Conda 環境から複製されます。 この複製はコストの高い操作であるため、状況によっては次のような問題が発生する可能性があります。

    • クラスター インスタンスの種類にローカル ストレージがない場合、クラスターの作成は次のようなエラーで失敗することがあります。

      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
      
    • (たとえば、スケジュール化されたジョブやノートブックのワークフローによってトリガーされて) 多数の Python ノートブックを 1 つのクラスターに同時にアタッチすると、一部のノートブックのアタッチに失敗するおそれがあります。

    上記のいずれかの問題が発生し、分離環境で Python ノートブックを実行する必要がない (つまり、クラスターが共有されていない) 場合は、Spark 構成spark.databricks.libraryIsolation.enabledfalse に設定して、Python ノートブックことに分離された Python 環境の作成を無効にできます。 このフラグを設定すると、dbutils.library も無効になります。

  • インストールされている Conda をアップグレードする場合、Conda の新しいバージョンに Conda の issue 9104 ("RECORD" ファイルのエントリが重複している場合に Conda List が失敗する) の修正プログラムが含まれていない可能性があります。 Conda をアップグレードして、Python ノートブック のアタッチに失敗した場合、または conda list を使用してドライバー ログまたはノートブックでエラー TypeError: '<' not supported between instances of 'NoneType' and 'str' が発生した場合は、修正プログラムを含むバージョンの Conda を使用するか、このリリースでインストールされている Conda のアップグレードは回避します。

システム環境

Databricks Runtime 6.0 with Conda のシステム環境は、次のとおり Databricks Runtime 6.0 と異なります。

インストールされている Python ライブラリにいくつかの違いがあります。

ライブラリ

以下は、Databricks Runtime 6.0 with Conda における既定のルート環境のエクスポートされた environment.yml ファイルです。

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