著者 Hailing Jiang
最終更新日 2021年11月17日
警告
本記事はTeradata CorporationによるGetting Startedに掲載された内容を抄訳したものです。掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。正確な内容については、原本をご参照下さい。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。
概要
独自のJupyterHubクラスターをお持ちのお客様には、Teradata Jupyterエクステンションを既存のクラスターに統合するための2つのオプションがあります。
① Teradata Jupyter Docker イメージを使用する。
② 既存のDockerイメージをカスタマイズしてTeradataエクステンションを含める。
このページでは、2つのオプションの詳細な手順を説明します。手順は、お客様のJupyterHubのデプロイがZero to JupyterHub with Kubernetesをベースにしていることを前提にしています。
Vantageの新しいインスタンスが必要な場合は、Google Cloud、Azure、AWSのクラウドにVantage Expressという無料版をインストールすることができます。また、VMware、VirtualBox、またはUTMを使用して、ローカルマシン上でVantage Expressを実行することもできます。
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ドキュメントに記載されているようにoverrideファイルを変更します。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はオプションでインストールすることができます。
・Teradata Package for Python - teradataml download page
・Teradata Package for R - tdplyr download page
さらに詳しく
・Teradata Jupyter Extensions Website
・Teradata Vantage™ Modules for Jupyter Installation Guide
・Teradata® Package for Python User Guide