著者 Hailing Jiang
最終更新日 2022年6月28日
警告
本記事はTeradata CorporationのサイトGetting Startedに掲載された内容を抄訳したものです。掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。正確な内容については、原本をご参照下さい。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。
概要
Teradata Jupyter拡張は、Teradata SQLカーネルといくつかのUI拡張を提供し、ユーザーがJupyter環境からTeradataデータベースに容易にアクセスし、操作できるようにします。Google Vertex AIは、Google Cloudの新しい統合MLプラットフォームです。Vertex AI Workbenchは、データサイエンスワークフロー全体のためのJupyterベースの開発環境を提供します。この記事では、Vertex AIユーザーがMLパイプラインでTeradata拡張を利用できるように、弊社のJupyterエクステンションをVertex AI Workbenchと統合する方法について説明します。
Vertex AI Workbenchは、マネージドノートブックとユーザーマネージドノートブックの2種類のノートブックをサポートしています。ここでは、ユーザー管理型ノートブックに焦点を当てます。スタートアップスクリプトを使用してカーネルと拡張機能をインストールする方法と、カスタムコンテナを使用する方法の2種類があります。
前提条件
・Teradata Vantageインスタンスへのアクセス
メモ!
Vantageの新しいインスタンスが必要な場合は、Google Cloud、Azure、AWSのクラウドにVantage Expressという無料版をインストールすることができます。また、VMware、VirtualBox、またはUTMを使用して、ローカルマシン上でVantage Expressを実行することもできます。
・Vertex AIを有効にしたGoogle Cloudアカウント
・起動スクリプトとTeradata Jupyter拡張パッケージを保存するためのGoogleクラウドストレージ
統合について
Vertex AIでTeradata Jupyter Extensionsを実行するには、2つの方法があります。
① スタートアップスクリプトを使用する
② カスタムコンテナを使用する
この2つの統合方法について、以下に説明します。
スタートアップスクリプトを使う
新しいノートブックインスタンスを作成する際に、スタートアップスクリプトを指定することができます。このスクリプトは、インスタンスの作成後に一度だけ実行されます。以下はその手順です。
① Teradata Jupyter 拡張パッケージのダウンロード
Vantage Modules for Jupyterのページから、Teradata Jupyter extensionsパッケージのバンドルLinux版をダウンロードします。
② Google Cloudのストレージバケットにパッケージをアップロードします。
③ 起動スクリプトを作成し、クラウドストレージバケットにアップロードします。
下記はサンプルスクリプトです。クラウドストレージバケットからTeradata Jupyter extensionパッケージを取得し、Teradata SQLカーネルとエクステンションをインストールします。
#! /bin/bash
cd /home/jupyter
mkdir teradata
cd teradata
gsutil cp gs://teradata-jupyter/* .
unzip teradatasql*.zip
# Install Teradata kernel
cp teradatakernel /usr/local/bin
jupyter kernelspec install ./teradatasql --prefix=/opt/conda
# Install Teradata extensions
pip install --find-links . teradata_preferences_prebuilt
pip install --find-links . teradata_connection_manager_prebuilt
pip install --find-links . teradata_sqlhighlighter_prebuilt
pip install --find-links . teradata_resultset_renderer_prebuilt
pip install --find-links . teradata_database_explorer_prebuilt
# PIP install the Teradata Python library
pip install teradataml
# Install Teradata R library (optional, uncomment this line only if you use an environment that supports R)
#Rscript -e "install.packages('tdplyr',repos=c('https://r-repo.teradata.com','https://cloud.r-project.org'))"
④ 新しいノートブックを作成し、クラウドストレージバケットからスタートアップスクリプトを追加します。
⑤ ノートブックの作成が完了するまで、数分かかる場合があります。完了したら、「ノートブックを開く」をクリックします。
カスタムコンテナを使用する
ノートブック作成時に、カスタムコンテナを提供する方法もあります。
① Teradata Jupyter エクステンションパッケージのダウンロード
Vantage Modules for Jupyterページから、Teradata Jupyter extensionsパッケージバンドルLinux版をダウンロードします。
② このパッケージを作業ディレクトリにコピーし、解凍してください。
③ カスタムDockerイメージの構築
カスタムコンテナは、8080番ポートでサービスを公開する必要があります。Google Deep Learning Containersイメージから派生したコンテナを作成することをお勧めします。これらのイメージは、ユーザ管理ノートブックと互換性があるようにすでに構成されているからです。
以下は、Teradata SQLカーネルおよび拡張機能をインストールしたDockerイメージを構築するために使用できるDockerfileのサンプルです。
# Use one of the deep learning images as base image
# if you need both Python and R, use one of the R images
FROM gcr.io/deeplearning-platform-release/r-cpu:latest
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/
# Copy notebooks and licenses
COPY ./notebooks/ /home/jupyter
COPY ./license.txt /home/jupyter
COPY ./ThirdPartyLicenses/ /home/jupyter
# Install the kernel file to /opt/conda jupyter lab instance
RUN jupyter kernelspec install ./teradatasql --prefix=/opt/conda
##############################################################
# Install Teradata extensions
##############################################################
RUN pip install --find-links . teradata_preferences_prebuilt && \
pip install --find-links . teradata_connection_manager_prebuilt && \
pip install --find-links . teradata_sqlhighlighter_prebuilt && \
pip install --find-links . teradata_resultset_renderer_prebuilt && \
pip install --find-links . teradata_database_explorer_prebuilt
# Give back ownership of /opt/conda to jovyan
RUN chown -R jupyter:users /opt/conda
# PIP install the Teradata Python libraries
RUN pip install teradataml
# Install Teradata R library (optional, include it only if you use a base image that supports R)
RUN Rscript -e "install.packages('tdplyr',repos=c('https://r-repo.teradata.com','https://cloud.r-project.org'))"
④ 作業ディレクトリ(Teradata Jupyter extensionsパッケージを解凍した場所)で、docker buildを実行してイメージをビルドしてください。
docker build -f Dockerfile imagename:imagetag .
⑤ docker イメージを Google コンテナレジストリまたはアーティファクトレジストリにプッシュする。
docker イメージをレジストリにプッシュするには、以下のドキュメントを参照してください。
○ コンテナレジストリ。イメージのプッシュとプル
○ アーティファクトレジストリ。イメージのプッシュとプル
⑥ 新しいノートブックを作成します。
「環境」セクションで、カスタム・コンテナ・フィールドを新しく作成したカスタム・コンテナの場所に設定します。
さらに詳しく
・Teradata Jupyter Extensions Website
・Teradata Vantage™ Modules for Jupyter Installation Guide
・Teradata® Package for Python User Guide
・Vertex AIのドキュメントです。学習用カスタムコンテナイメージの作成
・Vertex AIのドキュメントです。カスタムコンテナを使用してユーザー管理型ノートブックインスタンスを作成する
・Vertex AIのドキュメントです。ユーザーマネージドノートブックのインスタンスを作成する