メインコンテンツまでスキップ

Databricks Runtime 6.0 と Conda (EoS)

注記

この Databricks Runtime バージョンのサポートは終了しました。 サポート終了日については、「 サポート終了の履歴」を参照してください。 サポートされているすべての Databricks Runtime バージョンについては、「 Databricks Runtime リリースノートのバージョンと互換性」を参照してください。

注記

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

Databricks Runtime 6.0 with Conda (Beta) では、Conda を利用して Python ライブラリと環境を管理できます。 このランタイムには、クラスターの作成時に 2 つのルート Conda 環境オプションが用意されています。

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

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

注記

Databricks Runtime 6.0 with Conda の Scala、Java、R ライブラリは、Databricks Runtime 6.0 のライブラリと同じです。 詳細については、 Databricks Runtime 6.0 (EoS) リリースノートを参照してください。 Databricks RuntimeでConda を使用する方法については、Conda を参照してください。

新機能

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

改善

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

バグ修正

Conda の問題 9104 を修正しました (「RECORD」ファイルに重複するエントリがある場合、Conda リストが失敗します)。

既知の問題

  • デフォルトでは、 すべての Python ノートブックは、独自の分離された Conda 環境で実行されます。この分離された環境は、ルート Conda 環境からクローニングされます。 このクローンはコストのかかる操作であるため、 場合によっては、次の問題が発生することがあります。

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

      Console
      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 ノートブックを実行する必要がない (つまり、クラスターが共有されていない)Python Pythonspark.databricks.libraryIsolation.enabled場合は、 構成falseSparkを に設定することで、すべての ノートブックの分離 環境の作成を無効にすることができます。このフラグを設定すると、 dbutils.libraryも無効になります。

  • インストールされている Conda をアップグレードすると、新しいバージョンの Conda には Conda の問題 9104 の修正が含まれていない可能性があります (「RECORD」ファイルに重複するエントリがある場合、Conda リストは失敗します)。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 ライブラリにはいくつかの違いがあります。

ライブラリ

以下は、environment.yml を搭載したDatabricks Runtime 6.0 の デフォルト ルート環境にエクスポートされたConda ファイルです。

Databricks スタンダード

YAML
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

YAML
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