著者 姜 海玲
最終更新日 2022年9月27日

概要

Teradata Jupyter ExtentionsはTeradata SQLカーネルといくつかのUI拡張を提供しユーザーがJupyter環境からTeradataデータベースを簡単に操作できるようにするものです。この記事ではJupyter ExtentionsとSageMakerノートブックインスタンスを連携させる方法について説明します。

前提条件

・Teradata Vantageインスタンスへのアクセス

Vantageの新しいインスタンスが必要な場合は、Google Cloud、Azure、AWSのクラウドにVantage Expressという無料版をインストールすることができます。また、VMware、VirtualBox、またはUTMを使用して、ローカルマシン上でVantage Expressを実行することもできます。

・AWSアカウント

・ライフサイクル構成スクリプトとTeradata Jupyter Extentionsパッケージを格納するためのAWS S3バケット

統合化

SageMakerは、ライフサイクルコンフィギュレーションスクリプトを使用したノートブックインスタンスのカスタマイズをサポートしています。以下では、ライフサイクル構成スクリプトを使用して、Jupyterカーネルと拡張機能をノートブックインスタンスにインストールする方法をデモします。

notebookインスタンスと連携するための手順

1.Teradata Jupyter Extentionsパッケージのダウンロード

Linux版を https://downloads.teradata.com/download/tools/vantage-modules-for-jupyter からダウンロードし、S3バケットにアップロードしてください。Teradata Jupyterのカーネルとエクステンションを含むzipパッケージです。
各エクステンションには2つのファイルがあり、名前に”_prebuilt “が付いているものがPIPでインストールできるプリビルドエクステンション、もう1つが “jupyter labextension “でインストールする必要があるソースエクステンションになります。プレビルド拡張を使用することをお勧めします。

2.notebookインスタンスのライフサイクル設定の作成

画像1.png

以下はS3バケットからTeradataパッケージを取得しJupyterカーネルとエクステンションをインストールするスクリプトのサンプルです。on-create.shはノートブックインスタンスのEBSボリュームに永続化するカスタムconda envを作成し、ノートブック再起動後にインストールが失われないようにしています。on-start.shは、カスタムconda envにTeradataカーネルとエクステンションをインストールします。

#!/bin/bash

set -e

# This script installs a custom, persistent installation of conda on the Notebook Instance's EBS volume, and ensures
# that these custom environments are available as kernels in Jupyter.


sudo -u ec2-user -i <<'EOF'
unset SUDO_UID
# Install a separate conda installation via Miniconda
WORKING_DIR=/home/ec2-user/SageMaker/custom-miniconda
mkdir -p "$WORKING_DIR"
wget https://repo.anaconda.com/miniconda/Miniconda3-4.6.14-Linux-x86_64.sh -O "$WORKING_DIR/miniconda.sh"
bash "$WORKING_DIR/miniconda.sh" -b -u -p "$WORKING_DIR/miniconda"
rm -rf "$WORKING_DIR/miniconda.sh"
# Create a custom conda environment
source "$WORKING_DIR/miniconda/bin/activate"
KERNEL_NAME="teradatasql"

PYTHON="3.8"
conda create --yes --name "$KERNEL_NAME" python="$PYTHON"
conda activate "$KERNEL_NAME"
pip install --quiet ipykernel

EOF
#!/bin/bash

set -e

# This script installs Teradata Jupyter kernel and extensions.


sudo -u ec2-user -i <<'EOF'
unset SUDO_UID

WORKING_DIR=/home/ec2-user/SageMaker/custom-miniconda

source "$WORKING_DIR/miniconda/bin/activate" teradatasql

# fetch Teradata Jupyter extensions package from S3 and unzip it
mkdir -p "$WORKING_DIR/teradata"
aws s3 cp s3://sagemaker-teradata-bucket/teradatasqllinux_3.3.0-ec06172022.zip "$WORKING_DIR/teradata"
cd "$WORKING_DIR/teradata"

unzip -o teradatasqllinux_3.3.0-ec06172022.zip

# install Teradata kernel
cp teradatakernel /home/ec2-user/anaconda3/condabin
jupyter kernelspec install --user ./teradatasql

# install Teradata Jupyter extensions
source /home/ec2-user/anaconda3/bin/activate JupyterSystemEnv

pip install teradata_connection_manager_prebuilt-3.3.0.tar.gz
pip install teradata_database_explorer_prebuilt-3.3.0.tar.gz
pip install teradata_preferences_prebuilt-3.3.0.tar.gz
pip install teradata_resultset_renderer_prebuilt-3.3.0.tar.gz
pip install teradata_sqlhighlighter_prebuilt-3.3.0.tar.gz

conda deactivate
EOF

3.ノートブックインスタンスを作成します。
Platform identifierに「Amazon Linux 2, Jupyter Lab3」を選択しLifecycle configurationに手順2で作成したライフサイクル構成を選択してください。

画像2.png

また、Teradataデータベースにアクセスするために「Network」セクションにvpc、サブネット、セキュリティグループを追加する必要がある場合があります。

4.ノートブックインスタンスのステータスが「InService」になるまで待ち「Open JupyterLab」をクリックし、ノートブックを開きます。

画像3.png

デモノートにアクセスし使い方のヒントを得ることができます。

画像4.png

さらに詳しく

以下もあわせてご覧ください。

・Teradata Jupyter Extensions Website

・Teradata Vantage™ Modules for Jupyter Installation Guide

・Teradata® Package for Python User Guide

・Customize a Notebook Instance Using a Lifecycle Configuration Script

・amazon sagemaker notebook instance lifecycle config samples

Teradata Vantageへのお問合せ

Teradata Vantage へのお問合せ

广告
将在 10 秒后关闭
bannerAds