IBM Analytics Engine Powered by Apache SparkonzLinuxでバッチ処理環境を準備する

バッチ処理を設定するにはWatson OpenScaleサービス中zLinux,デプロイメント環境を準備する必要があります。

Analytics Engine powered by Apache Spark。 zLinux

バージョン を使用して、 Conda バージョン をインストールする必要があります。 24.5.0Python3.11 このツールは、 Minicondaとともにインストールできます。

制限

zLinux プラットフォームのサポートには、以下の制限があります。

  • IBM Watson Machine Learningでは、scikit-learn、XGBoost フレームワーク、および Python 関数のみがサポートされます。
  • データマート・データベースは、以下の例に示すように、幅の広いデータ・セットを適切に処理するためには、デフォルト値より大きいページ・サイズで作成する必要があります。
   CREATE DB {db name} PAGESIZE {PAGESIZE integer} (8192 for 8K or more)
  • ORC 形式で作成されたHiveテーブルは、IBM Analytics EngineとHive によるバッチ・サブスクリプションの監視ではサポートされません。

ステップ 1: モデル評価に必要なモジュールの Conda アーカイブを作成する

Hadoop エコシステムで実行されるモデル評価には、いくつかの従属 Python パッケージが必要です。 これらのパッケージがないと、評価は失敗します。 以下のステップを使用して、これらの依存関係をインストールし、 Hadoop ファイル・システム (HDFS) 内の場所にアップロードすることができます。

  1. zLinuxオペレーティングシステムにCondaをインストールする。 open-ce使用した conda パッケージのビルドには、Red Hat Enterprise Linuxバージョン8.xを推奨します。

  2. s390x zLinux サーバー・インスタンスの conda パッケージとして llvmlite 仮想環境をビルドするための conda 環境を作成します。

    cd /opt
    conda create -y -n llvmlite-env python=3.11
    conda activate llvmlite-env
    conda install -y conda-build
    conda install -y -c open-ce open-ce-builder
    

    a. 以下のコマンドを実行して、 open-ce 環境 YAML ファイルで llvmlite conda パッケージ・ビルドを有効にします。

    git clone -b open-ce-r1.11 https://github.com/open-ce/open-ce.git
    cd open-ce
    yum install patch
    echo "packages:" > envs/llvmlite-env.yaml
    grep -A1 llvmlite envs/opence-env.yaml >> envs/llvmlite-env.yaml
    

    b. llvmlite conda パッケージをビルドします。

    open-ce build env --python_versions 3.11 --build_types cpu envs/llvmlite-env.yaml
    

    c. condabuild フォルダーを調べて、ビルドされた conda パッケージを見つけます。

    # ls -1 condabuild/
    channeldata.json
    index.html
    linux-s390x
    noarch
    opence-conda-env-py3.11-cpu-openmpi.yaml
    
    # ls -1 condabuild/linux-s390x/
    current_repodata.json
    current_repodata.json.bz2
    index.html
    llvmlite-0.44.0-py311h9ecd62b_0.conda
    repodata_from_packages.json
    repodata_from_packages.json.bz2
    repodata.json
    repodata.json.bz2
    

    d. condabuild ディレクトリーで conda index コマンドを実行します。

    conda index condabuild
    

    e. 以下のパラメータをファイル ~/.condarc に追加し、condabuildフォルダをローカルcondaチャンネルとして使用します:

    channels:
    - /opt/open-ce/condabuild
    - defaults
    

    f. Conda チャネルを調べて、llvmlite conda パッケージを見つけます。

    conda search llvmlite
    

    g. llvmlite-env conda 仮想環境を非アクティブ化します。

    conda deactivate
    
  3. Conda 仮想環境を作成します。

    conda create -n wos_env python=3.11.11
    conda activate wos_env
    

    次に、Conda 仮想環境をアクティブにします。

  4. conda チャネルで使用可能なすべての依存関係をインストールするには、以下の行をファイルに追加して conda_requirements.txt ファイルを作成します。

    _libgcc_mutex==0.1
    _openmp_mutex==5.1
    aom==3.6.0
    appdirs==1.4.4
    async-timeout==4.0.3
    blas==1.0
    blosc==1.21.3
    brotli==1.0.9
    brotli-bin==1.0.9
    brotli-python==1.0.9
    brotlipy==0.7.0
    bzip2==1.0.8
    c-ares==1.19.0
    ca-certificates==2025.2.25
    cfitsio==3.470
    contourpy==1.3.1
    cryptography==41.0.2
    cycler==0.11.0
    cython==3.0.11
    cytoolz==0.12.2
    dask-core==2024.8.2
    dav1d==1.2.1
    fonttools==4.25.0
    freetype==2.12.1
    giflib==5.2.2
    hdf5==1.14.5
    icu==73.1
    imagecodecs==2024.9.22
    imageio==2.37.0
    importlib-metadata==7.0.1
    jmespath==1.0.1
    jpeg==9e
    jxrlib==1.1
    kiwisolver==1.4.4
    krb5==1.20.1
    lazy_loader==0.4
    lcms2==2.16
    ld_impl_linux-s390x==2.38
    lerc==4.0.0
    libaec==1.1.3
    libavif==1.1.1
    libbrotlicommon==1.0.9
    libbrotlidec==1.0.9
    libbrotlienc==1.0.9
    libcurl==8.2.1
    libdeflate==1.22
    libedit==3.1.20221030
    libev==4.33
    libffi==3.4.2
    libgcc-ng==11.2.0
    libgfortran-ng==11.2.0
    libgfortran5==11.2.0
    libgomp==11.2.0
    libllvm15==15.0.7
    libnghttp2==1.52.0
    libopenblas==0.3.21
    libpng==1.6.39
    libpq==12.17
    libqdldl==0.1.7
    libssh2==1.10.0
    libstdcxx-ng==11.2.0
    libtiff==4.5.1
    libuuid==1.41.5
    libwebp==1.3.2
    libwebp-base==1.3.2
    libxml2==2.13.5
    libzlib==1.2.13
    libzopfli==1.0.3
    llvmlite==0.44.0
    locket==1.0.0
    lz4-c==1.9.4
    matplotlib==3.9.2
    matplotlib-base==3.9.2
    maturin==1.7.8
    munkres==1.1.4
    ncurses==6.4
    numpy==2.0.2
    numpy-base==2.0.2
    openjpeg==2.4.0
    openssl==3.0.16
    pandas==2.2.3
    partd==1.4.1
    patsy==1.0.1
    pip==25.2
    platformdirs==3.10.0
    pooch==1.7.0
    psycopg2==2.9.9
    pybind11-global==2.13.6
    pyopenssl==23.2.0
    pysocks==1.7.1
    python==3.11.11
    python-dateutil==2.9.0.post0
    python-tzdata==2023.3
    pywavelets==1.7.0
    pyyaml==6.0.2
    readline==8.2
    scikit-image==0.25.0
    scikit-learn==1.6.1
    scipy==1.15.2
    snappy==1.2.1
    sqlite==3.45.3
    statsmodels==0.14.4
    tabulate==0.9.0
    tk==8.6.14
    tomli==2.0.1
    tornado==6.4.1
    typing_extensions==4.11.0
    tzdata==2024a
    wheel==0.45.1
    xz==5.4.6
    yaml==0.2.5
    zipp==3.17.0
    zlib==1.2.13
    zlib-ng==2.0.7
    zstd==1.5.5
    

    次に、 conda install -y --file conda_requirements.txt コマンドを実行します。

  5. ibm-metrics-plugin ライブラリーの依存関係の一部をインストールします。

    git clone https://github.com/tommyod/KDEpy
    cd KDEpy
    git checkout ce23348
    pip install --no-build-isolation ./
    cd ..
    rm -rf KDEpy
    
    pip install --no-build-isolation cvxpy==1.7.3 osqp==1.0.4
    
  6. pipを使用して残りの依存関係をインストールするには、以下の行をファイルに追加して pip_requirements.txt ファイルを作成します。

    aiohappyeyeballs==2.6.1
    aiohttp==3.13.0
    aiohttp-retry==2.9.1
    aiosignal==1.4.0
    attrs==25.4.0
    boto3==1.37.38
    botocore==1.37.38
    bottleneck==1.6.0
    build==1.3.0
    cachetools==5.3.3
    certifi==2025.10.5
    cffi==2.0.0
    charset-normalizer==3.4.4
    clarabel==0.11.1
    click==8.3.0
    cloudpickle==3.1.1
    cvxpy==1.7.3
    distro==1.9.0
    ecos==2.0.14
    filelock==3.20.0
    frozenlist==1.8.0
    fsspec==2025.9.0
    greenlet==3.2.4
    h5py==3.14.0
    huggingface-hub==0.35.3
    ibm-db==3.2.6
    ibm-db-sa==0.4.2
    ibm-metrics-plugin==5.3.0.13
    ibm-wos-utils==5.3.0.10
    idna==3.11
    jenkspy==0.4.1
    jinja2==3.1.6
    joblib==1.5.2
    kdepy==1.1.12
    markupsafe==3.0.3
    marshmallow==3.21.3
    meson==1.9.1
    meson-python==0.18.0
    more-itertools==10.2.0
    multidict==6.7.0
    networkx==3.5
    ninja==1.13.0
    nltk==3.9.2
    numba==0.61.2
    numexpr==2.14.1
    osqp==1.0.4
    packaging==25.0
    pillow==11.3.0
    pipdeptree==2.29.0
    propcache==0.4.1
    pyarrow==22.0.0
    pybind11==3.0.1
    pycparser==2.23
    pyjwt==2.10.1
    pyparsing==3.1.4
    pyproject-hooks==1.2.0
    pyproject-metadata==0.9.1
    pytz==2025.2
    qdldl==0.1.7.post4
    regex==2025.9.18
    requests==2.32.5
    retrying==1.3.7
    s3transfer==0.11.5
    safetensors==0.6.2
    scikit-build==0.18.1
    scs==3.2.7
    service-locator==0.1.3
    setuptools==80.9.0
    shap==0.47.3.dev0
    six==1.17.0
    slicer==0.0.8
    spark-nlp==5.3.3
    sqlalchemy==2.0.40
    threadpoolctl==3.6.0
    tifffile==2025.10.4
    tokenizers==0.21.4
    toolz==0.12.1
    tqdm==4.66.6
    transformers==4.53.3
    typing-extensions==4.15.0
    urllib3==2.5.0
    xport==3.2.0
    yarl==1.22.0
    

    次に、 pip install -r pip_requirements.txt コマンドを実行します。 インストールに失敗した依存関係がある場合は、それらを再インストールして問題を修正することができます。

  7. from ibm_wos_utils.drift.drift_trainer import DriftTrainer コマンドを使用して Conda 仮想環境を検証します。 以下のエラーが表示される場合があります。

    ValueError: numpy.ndarray size changed, can indicate binary incompatibility.
    Expected 96 from C header, got 88 from PyObject
    

    エラーが表示された場合は、以下のコマンドを使用して numpy ライブラリーを再インストールします。

    pip uninstall numpy
    pip install numpy==2.0.2
    
  8. conda deactivate コマンドを実行して、仮想環境を非アクティブ化します。

ステップ2:アーカイブをアップロードする

API 許可トークンを生成 し、 PUT /volumes API コマンドを使用してボリュームにアップロードします。

curl -k -i -X PUT 'https://<cluster_url>/zen-volumes/<volume_name>/v1/volumes/files/py_packages%2Fwos_env?extract=true' -H "Authorization: ZenApiKey ${TOKEN}"  -H 'cache-control: no-cache' -H 'content-type: multipart/form-data' -F  'upFile=@/<path_to_parent_dir>/wos_env.zip`

次のステップ

Watson OpenScale