Teradata Jupyter Extentionsと SageMakerNotebookインスタンスを統合する
このハウツーでは、Teradata Extensions を Jupyter Notebooks 環境に追加する方法を示します。Teradata Extensions および分析ツールと統合された Jupyter Notebooks のホストされたバージョンは、https://clearscape.teradata.comで無料で機能テストに利用できます。 |
概要
Teradata Jupyter ExtentionsはTeradata SQLカーネルといくつかのUI拡張を提供しユーザーがJupyter環境からTeradataデータベースを簡単に操作できるようにするものです。今回は、Jupyter ExtentionsとSageMakerNotebookインスタンスを連携させる方法について説明します。
前提条件
-
Teradata Vantageインスタンスへのアクセス。
Vantage のテスト インスタンスが必要な場合は、 https://clearscape.teradata.com. で無料でプロビジョニングできます。 -
AWS アカウント
-
ライフサイクル構成スクリプトとTeradata Jupyter Extentionsパッケージを格納するためのAWS S3バケット
統合について
SageMakerは、ライフサイクルコンフィギュレーションスクリプトを使用したNotebookインスタンスのカスタマイズをサポートしています。以下では、ライフサイクル構成スクリプトを使用して、Jupyterカーネルと拡張機能をNotebookインスタンスにインストールする方法をデモします。
notebookインスタンスと連携するための手順
-
Teradata Jupyter Extentionsパッケージのダウンロードする
Linux版を https://downloads.teradata.com/download/tools/vantage-modules-for-jupyter からダウンロードし、S3バケットにアップロードしてください。Teradata Jupyterのカーネルとエクステンションを含むzipパッケージです。各エクステンションには2つのファイルがあり、名前に"_prebuilt "が付いているものがPIPでインストールできるプリビルドエクステンション、もう1つが "jupyter labextension "でインストールする必要があるソースエクステンションになります。プレビルド拡張を使用することをお勧めします。
-
notebookインスタンスのライフサイクル設定の作成する
以下はS3バケットからTeradataパッケージを取得しJupyterカーネルとエクステンションをインストールするスクリプトのサンプルです。on-create.shはNotebookインスタンスのEBSボリュームに永続化するカスタムconda envを作成し、Notebook再起動後にインストールが失われないようにしています。on-start.shは、カスタムconda envにTeradataカーネルとエクステンションをインストールします。
on-create.sh
#!/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
on-start.sh
#!/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
-
Notebook インスタンスを作成するPlatform identifierに「Amazon Linux 2, Jupyter Lab3」を選択しLifecycle configurationに手順2で作成したライフサイクル構成を選択してください。
また、Teradataデータベースにアクセスするために「Network」セクションにvpc、サブネット、セキュリティグループを追加する必要がある場合があります。
-
Notebookインスタンスのステータスが「InService」になるまで待ち「Open JupyterLab」をクリックし、Notebookを開く。
デモノートにアクセスし使い方のヒントを得ることができます。
+
さらに詳しく
ご質問がある場合、またはさらにサポートが必要な場合は、コミュニティ フォーラムにアクセスしてサポートを受け、他のコミュニティ メンバーと交流してください。 |