このページは機械翻訳したものです。

Condaパックとデータ・フローの統合

Condaパックをデータ・フローと統合するには、次のステップを実行します。

Condaは、最も広く使用されているPythonパッケージ管理システムの1つです。conda-packを使用することで、PySparkユーザーは、Conda環境を直接使用してサードパーティのPythonパッケージを送信できます。データ・フローでSpark 3.2.1を使用している場合は、Condaパックと統合できます。

  1. Python 3.8.13用のCondaパックをインストールして使用し、環境のconda pack tar.gzファイルを生成します。Spark 3.2.1でサポートされるバージョンであるため、Python 3.8.13を使用する必要があります。サポートされているバージョンの詳細は、「データ・フローを開始する前に」の項を参照してください。
    ノート

    データ・フローSparkイメージでは実行時にoraclelinux:7-slimが使用されるため、Conda Linuxインストーラを使用します。
    たとえば、次のステップでは、Python 3.8およびNumPyを使用して、サンプルのcondaパック・ファイルを作成します:
    1. イメージoraclelinux:7-slimまたはOracle Linux 7マシンを使用して、dockerコンテナにログインします。
      docker run -it --entrypoint /bin/bash oraclelinux:7-slim
    2. Conda Linuxインストーラをインストールします。
      curl -O https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
      chmod u+x Anaconda3-2022.05-Linux-x86_64.sh
      ./Anaconda3-2022.05-Linux-x86_64.sh
    3. Python 3.8環境を作成します。
      source ~/.bashrc
      conda create -n mypython3.8 python=3.8
      conda activate mypython3.8
    4. NumPyをインストールします。
      pip install numpy
      conda pack -f -o mypython3.8.tar.gz
    5. dockerコンテナからローカル・マシンにtar.gzファイルをコピーします。
      docker cp <container_id>:/mypython3.8.tar.gz
  2. ローカルのtar.gzファイルをオブジェクト・ストアにアップロードします。
    ファイルへのURIを書き留めます。これはoci://<bucket-name>@<namespace-name>/<path>/conda_env.tar.gzのようになります。
  3. 作成または更新するアプリケーションおよび実行で、spark.archivesを次のように設定します:
    oci://<bucket-name>@<namespace-name>/<path>/conda_env.tar.gz#conda

    ここで、#condaからデータ・フローに、conda/opt/spark/wor-dir/conda/の有効な環境名として設定し、ドライバおよびエグゼキュータ・ポッドに対して/opt/spark/work-dir/conda/bin/python3で指定されているPythonバージョンを使用するよう指示が行われます。

  4. (オプション)または、独自の環境名を使用できますが、コードにPYSPARK_PYTHONを設定する必要があります。詳細は、PythonパッケージングでのCondaの使用を参照してください。

この記事は役に立ちましたか。