Teradata Jupyter ExtensionsをJupyter Hubにデプロイする方法
概要
独自のJupyterHubクラスタをお持ちのお客様には、Teradata Jupyterエクステンションを既存のクラスタに統合するための2つのオプションがあります。
-
Teradata Jupyter Dockerイメージを使用する。
-
既存の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イメージをレジストリにインストールする
-
Vantage Modules for Jupyter のページに移動し、Dockerイメージをダウンロードします。tarballで、
teradatajupyterlabext_VERSION.tar.gz
という形式になっています。 -
イメージをロードします。
docker load -i teradatajupyterlabext_VERSION.tar.gz
-
イメージをDockerレジストリにプッシュします。
docker push
シンプルにするために、読み込んだ画像の名前を変更することを検討するとよいでしょう。
docker tag OLD_IMAGE_NAME NEW_IMAGE_NAME
JupyterHub で Teradata Jupyter Dockerイメージを使用する
-
Teradata Jupyter Dockerイメージを JupyterHub クラスタで直接使用するには、 JupyterHubドキュメント の説明に従ってオーバーライド ファイルを変更します。
REGISTRY_URL
とVERSION
を上記の手順で適切な値に置き換えてください。singleuser: image: name: REGISTRY_URL/teradatajupyterlabext_VERSION tag: latest
-
JupyterHub ドキュメント に記載されているように、クラスタに変更を適用します。
複数のプロファイルを使用することで、ユーザーがJupyterHubにログインする際に使用する画像を選択することができます。複数のプロファイルを設定する詳細な手順と例については、JupyterHub ドキュメント を参照してください。
Teradata Jupyter Dockerイメージをカスタマイズする
Teradata Jupyter Dockerイメージにバンドルされていないパッケージやノートブックが必要な場合、Teradataイメージをベースイメージとして使用し、その上に新しいイメージをビルドすることをお勧めします。
以下は、Teradataイメージの上にビルドし、追加のパッケージとノートブックを追加するDockerfileの例です。Dockerfileを使用して新しいDockerイメージを構築し、イメージを指定のレジストリにプッシュし、新しいイメージをシングルユーザーイメージとして使用するために上記のようにオーバーライドファイルを変更し、上記のようにクラスタに変更を適用します。 REGISTRY_URL
と VERSION
は適切な値に置き換えてください。
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カーネルとエクステンションは、現在使用している既存のイメージに含めることができます。
-
Vantage Modules for Jupyter ページから、zip圧縮されたTeradata Jupyter extensionsパッケージバンドルがダウンロードできます。既存の DockerイメージがLinuxベースである場合は、Linux版のダウンロードを使用します。そうでない場合は、使用しているプラットフォーム用にダウンロードします。.zipファイルには、Teradata SQL Kernel、エクステンション、サンプル ノートブックが含まれています。
-
バンドル ファイルを作業ディレクトリに解凍します。
-
以下は、既存の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
-
Teradata package for PythonとTeradata package for Rはオプションでインストールすることができます。詳細については、以下のページを参照してください。
さらに詳しく
ご質問がある場合、またはさらにサポートが必要な場合は、コミュニティ フォーラムにアクセスしてサポートを受け、他のコミュニティ メンバーと交流してください。 |