If you imagine it, envision it, create it... Teradata makes it Possible. Join us. "If you imagine it...Teradata makes it Possible. Register now.

Imagen

Teradata Jupyter ExtensionsをJupyter Hubにデプロイする方法

概要

独自のJupyterHubクラスタをお持ちのお客様には、Teradata Jupyterエクステンションを既存のクラスタに統合するための2つのオプションがあります。

  1. Teradata Jupyter Dockerイメージを使用する。

  2. 既存のDockerイメージをカスタマイズして、Teradata 拡張機能を含める。

このページでは、2つのオプションの詳細な手順を説明します。この手順は、手順は、お客様のJupyterHubのデプロイが Zero to JupyterHub with Kubernetes をベースにしていることを前提にしています。

Vantage のテスト インスタンスが必要な場合は、 https://clearscape.teradata.com. で無料でプロビジョニングできます。

Teradata Jupyter Dockerイメージの使用

Teradata は 、jupyter/datascience-notebook イメージをベースにした、すぐに実行可能なDockerイメージを提供しています。Teradata SQLカーネル、Teradata PythonおよびRライブラリとドライバー、Teradata Jupyter拡張をバンドルし、Teradataデータベースと対話しながら生産性を向上させることができます。また、このイメージには、SQLカーネル、拡張機能、Teradataライブラリの使用方法を示すサンプルノートブックが含まれています。

このイメージは以下のように使用することができます。

  • ローカルのDockerコンテナで個人用Jupyter Notebookサーバを起動する

  • JupyterHubを使用してチームのJupyterLabサーバを実行する

ローカルDockerコンテナで個人用JupyterLabサーバーを起動する手順については、インストール ガイドを参照してください。ここでは、お客様の既存のJupyterHub環境でTeradata Jupyter Dockerイメージを使用する方法を中心に説明します。

Teradata Jupyter Dockerイメージをレジストリにインストールする

  1. Vantage Modules for Jupyter のページに移動し、Dockerイメージをダウンロードします。tarballで、teradatajupyterlabext_VERSION.tar.gz という形式になっています。

  2. イメージをロードします。

    docker load -i teradatajupyterlabext_VERSION.tar.gz
  3. イメージをDockerレジストリにプッシュします。

    docker push

    シンプルにするために、読み込んだ画像の名前を変更することを検討するとよいでしょう。

    docker tag OLD_IMAGE_NAME NEW_IMAGE_NAME

JupyterHub で Teradata Jupyter Dockerイメージを使用する

  1. Teradata Jupyter Dockerイメージを JupyterHub クラスタで直接使用するには、 JupyterHubドキュメント の説明に従ってオーバーライド ファイルを変更します。 REGISTRY_URLVERSION を上記の手順で適切な値に置き換えてください。

    singleuser:
      image:
      name: REGISTRY_URL/teradatajupyterlabext_VERSION
      tag: latest
  2. JupyterHub ドキュメント に記載されているように、クラスタに変更を適用します。

    複数のプロファイルを使用することで、ユーザーがJupyterHubにログインする際に使用する画像を選択することができます。複数のプロファイルを設定する詳細な手順と例については、JupyterHub ドキュメント を参照してください。

Teradata Jupyter Dockerイメージをカスタマイズする

Teradata Jupyter Dockerイメージにバンドルされていないパッケージやノートブックが必要な場合、Teradataイメージをベースイメージとして使用し、その上に新しいイメージをビルドすることをお勧めします。

以下は、Teradataイメージの上にビルドし、追加のパッケージとノートブックを追加するDockerfileの例です。Dockerfileを使用して新しいDockerイメージを構築し、イメージを指定のレジストリにプッシュし、新しいイメージをシングルユーザーイメージとして使用するために上記のようにオーバーライドファイルを変更し、上記のようにクラスタに変更を適用します。 REGISTRY_URLVERSION は適切な値に置き換えてください。

FROM REGISTRY_URL/teradatajupyterlabext_VERSION:latest

# install additional packages
RUN pip install --no-cache-dir astropy

# copy notebooks
COPY notebooks/. /tmp/JupyterLabRoot/DemoNotebooks/

既存のDockerイメージをカスタマイズして Teradata 拡張機能を含める

Teradata SQLカーネルとエクステンションは、現在使用している既存のイメージに含めることができます。

  1. Vantage Modules for Jupyter ページから、zip圧縮されたTeradata Jupyter extensionsパッケージバンドルがダウンロードできます。既存の DockerイメージがLinuxベースである場合は、Linux版のダウンロードを使用します。そうでない場合は、使用しているプラットフォーム用にダウンロードします。.zipファイルには、Teradata SQL Kernel、エクステンション、サンプル ノートブックが含まれています。

  2. バンドル ファイルを作業ディレクトリに解凍します。

  3. 以下は、既存のDockerイメージにTeradata Jupyterエクステンションを追加するためのDockerfileの例です。Dockerfileを使用して新しいDockerイメージを構築し、イメージを指定のレジストリにプッシュし、新しいイメージをシングルユーザーイメージとして使用するために上記のようにオーバーライドファイルを変更し、変更をクラスタに適用します。

    FROM REGISTRY_URL/your-existing-image:tag
    ENV NB_USER=jovyan \
      HOME=/home/jovyan \
      EXT_DIR=/opt/teradata/jupyterext/packages
    
    USER root
    
    ##############################################################
    # Install kernel and copy supporting files
    ##############################################################
    
    # Copy the kernel
    COPY ./teradatakernel /usr/local/bin
    RUN chmod 755 /usr/local/bin/teradatakernel
    
    # Copy directory with kernel.json file into image
    COPY ./teradatasql teradatasql/
    
    ##############################################################
    # Switch to user jovyan to copy the notebooks and license files.
    ##############################################################
    
    USER $NB_USER
    
    # Copy notebooks
    COPY ./notebooks/ /tmp/JupyterLabRoot/TeradataSampleNotebooks/
    
    # Copy license files
    COPY ./ThirdPartyLicenses /tmp/JupyterLabRoot/ThirdPartyLicenses/
    
    USER root
    
    # Install the kernel file to /opt/conda jupyter lab instance
    RUN jupyter kernelspec install ./teradatasql --prefix=/opt/conda
    
    ##############################################################
    # Install Teradata extensions
    ##############################################################
    
    COPY ./teradata_*.tgz $EXT_DIR
    
    WORKDIR $EXT_DIR
    
    RUN jupyter labextension install --no-build teradata_database* && \
      jupyter labextension install --no-build teradata_resultset* && \
      jupyter labextension install --no-build teradata_sqlhighlighter* && \
      jupyter labextension install --no-build teradata_connection_manager* && \
      jupyter labextension install --no-build teradata_preferences* && \
      jupyter lab build --dev-build=False --minimize=False && \
      rm -rf *
    
    WORKDIR $HOME
    
    # Give back ownership of /opt/conda to  jovyan
    RUN chown -R jovyan:users /opt/conda
    
    # Jupyter will create .local directory
    RUN rm -rf $HOME/.local
  4. Teradata package for PythonとTeradata package for Rはオプションでインストールすることができます。詳細については、以下のページを参照してください。

さらに詳しく

ご質問がある場合、またはさらにサポートが必要な場合は、コミュニティ フォーラムにアクセスしてサポートを受け、他のコミュニティ メンバーと交流してください。
このページは役に立ちましたか?