8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Google Vertex AIとTeradata Jupyterエクステンションを統合する方法

Posted at

著者 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 CloudAzureAWSのクラウドにVantage Expressという無料版をインストールすることができます。また、VMwareVirtualBox、または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カーネルとエクステンションをインストールします。

install_Vantage_JupyterExt
#! /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'))"

④ 新しいノートブックを作成し、クラウドストレージバケットからスタートアップスクリプトを追加します。

画像1.png

⑤ ノートブックの作成が完了するまで、数分かかる場合があります。完了したら、「ノートブックを開く」をクリックします。

画像2.png

カスタムコンテナを使用する

ノートブック作成時に、カスタムコンテナを提供する方法もあります。

① Teradata Jupyter エクステンションパッケージのダウンロード
Vantage Modules for Jupyterページから、Teradata Jupyter extensionsパッケージバンドルLinux版をダウンロードします。
② このパッケージを作業ディレクトリにコピーし、解凍してください。
③ カスタムDockerイメージの構築

カスタムコンテナは、8080番ポートでサービスを公開する必要があります。Google Deep Learning Containersイメージから派生したコンテナを作成することをお勧めします。これらのイメージは、ユーザ管理ノートブックと互換性があるようにすでに構成されているからです。

以下は、Teradata SQLカーネルおよび拡張機能をインストールしたDockerイメージを構築するために使用できるDockerfileのサンプルです。

Sample_Docker
# 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
docker build -f Dockerfile imagename:imagetag .

⑤ docker イメージを Google コンテナレジストリまたはアーティファクトレジストリにプッシュする。
docker イメージをレジストリにプッシュするには、以下のドキュメントを参照してください。

○ コンテナレジストリ。イメージのプッシュとプル
○ アーティファクトレジストリ。イメージのプッシュとプル

⑥ 新しいノートブックを作成します。
環境」セクションで、カスタム・コンテナ・フィールドを新しく作成したカスタム・コンテナの場所に設定します。

画像3.png

さらに詳しく

Teradata Jupyter Extensions Website
Teradata Vantage™ Modules for Jupyter Installation Guide
Teradata® Package for Python User Guide
Vertex AIのドキュメントです。学習用カスタムコンテナイメージの作成
Vertex AIのドキュメントです。カスタムコンテナを使用してユーザー管理型ノートブックインスタンスを作成する
Vertex AIのドキュメントです。ユーザーマネージドノートブックのインスタンスを作成する

Teradata Vantageへのお問合せ

Teradata Vantage へのお問合せ

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?