Jupyter NotebookからVantageを利用する方法
このハウツーでは、Teradata Extensions を Jupyter Notebooks 環境に追加する方法を説明します。Teradata 拡張機能および分析ツールと統合された Jupyter Notebooks のホスト バージョンは、https://clearscape.teradata.com で無料で機能テストにご利用いただけます。
概要
このハウツーでは、Jupyter Notebookから Teradata Vantage に接続する手順を説明します。
Vantage のテストインスタンスが必要な場合は、 https://clearscape.teradata.com で無料でプロビジョニングできます
オプション
Jupyter Notebook から Vantage に接続するには、いくつかの方法があります。
- 通常のPython/RカーネルノートブックでPythonまたはRライブラリを使用する - このオプションは、独自の Docker イメージを生成できない制限された環境にいる場合に適しています。また、ノートブックで SQL と Python/R を混在させる必要がある従来のデータサイエンス シナリオでも役立ちます。Jupyter に精通していて、好みのライブラリと拡張機能のセットがある場合は、このオプションから始めてください。
- Teradata Jupyter Dockerイメージの使用 - Teradata Jupyter Docker イメージには、Teradata SQL カーネル (詳細は後述)、
teradataml
およびtdplyr
ライブラリ、Python および R ドライバがバンドルされています。また、Teradata 接続の管理や Vantage データベース内のオブジェクトの探索を可能にする Jupyter 拡張機能も含まれています。SQL を頻繁に使用するときや、視覚的なナビゲーターが役立つと感じるときに便利です。Jupyter を初めて使用するときや、ライブラリと拡張機能の厳選されたアセンブリを入手したい場合は、このオプションから始めてください。
Teradata ライブラリ
このオプションでは、通常の Jupyter Lab ノートブックを使用します。Teradata Python ドライバをロードして Python コードから使用する方法について説明します。また、SQL のみのセルのサポートを追加する ipython-sql
拡張機能についても説明します。
- ここでは Dockerを使用していますが、Jupyter Hub、Google Cloud AI Platform Notebooks、AWS SageMaker Notebooks、Azure ML Notebooks など、Notebookを起動する任意のメソッドを使用できます。
- まず、単純な Jupyter Lab ノートブックから始めます。
- 新しいノートブックを開き、必要なライブラリをインストールするためのセルを作成します。
以下に説明するすべてのセルを含むノートブックを GitHub に公開しました: https://github.com/Teradata/quickstarts/blob/main/modules/ROOT/attachments/vantage-with-python-libraries.ipynb
- ここで、
Pandas
をインポートし、Teradata に接続するための接続文字列を定義します。ノートブックをローカル マシン上の Docker で実行しており、ローカルの Vantage Express VM に接続したいので、マシンの IP を参照するために Docker によって提供されるhost.docker.internal
DNS 名を使用しています。
- これで、Pandas を呼び出して Vantage をクエリーし、結果を Pandas データフレームに移動できるようになりました。
- 上記の構文は簡潔ですが、Vantage でデータを調べるだけの場合は面倒になることがあります。
ipython-sql
とその%%sql
マジックを使用して、SQL のみのセルを作成します。必要なライブラリをインポートすることから始めます。
ipython-sql
をロードし、db接続文字列を定義します。
- これで、
%sql
と%%sql
のマジックが使えるようになりました。テーブル内のデータを調べたいとします。次のようなセルを作成できます。
- データを Pandas フレームに移動したい場合は、以下のように言えます。
ipython-sql には、変数置換、matplotlib
によるプロット、ローカル CSV ファイルへの結果の書き込みやデータベースへの結果の書き込みなど、他にも多くの機能があります。例については デモノートブック を、完全なリファレンスについては ipython-sql github リポジトリ を参照してください。
Teradata Jupyter Dockerイメージ
Teradata Jupyter Docker イメージは、 jupyter/datascience-notebook
Docker イメージ上に構築されています。Teradata SQL カーネル、Teradata Python および R ライブラリ、Jupyter 拡張機能が追加され、Teradata Vantage を操作する際の生産性が向上します。このイメージには、SQL カーネルと Teradata ライブラリの使用方法を示すサンプル ノートブックも含まれています。
SQL カーネルと Teradata Jupyter 拡張機能は、SQL インターフェイスに多くの時間を費やすユーザーにとって便利です。多くの場合、Teradata Studio を使用するよりも便利なノートブック エクスペリエンスとして考えてください。Teradata Jupyter Docker イメージは、Teradata Studio を置き換えるものではありません。すべての機能を備えているわけではありません。軽量の Web ベースのインターフェイスを必要とし、ノートブック UI を楽しむユーザー向けに設計されています。
Teradata Jupyter Docker イメージは、Jupyter をローカルで実行する場合、またはカスタム Jupyter Docker イメージを実行できる場所がある場合に使用できます。以下の手順では、イメージをローカルで使用する方法を示します。
- イメージを実行します:
-e "accept_license=Y
を渡すと、Teradata Jupyter Extensions の ライセンス契約 を受け入れることになります。
- Docker ログには、アクセスする必要のある URL が表示されます。たとえば、次のような内容が表示されます。
- URL を開き、ファイル エクスプローラを使用してNotebook
jupyterextensions -> notebooks -> sql -> GettingStartedDemo.ipynb
を開きます。 - Teradata SQL カーネルのデモを確認してください。
まとめ
このクイック スタートでは、Jupyter Notebook から Teradata Vantage に接続するためのさまざまなオプションについて説明しました。複数の Teradata Python および R ライブラリをバンドルした Teradata Jupyter Docker イ メージについて学習しました。また、SQL カーネル、データベース オブジェクト エクスプローラー、接続管理も提供します。これらの機能は、SQL インターフェイスに多くの時間を費やす場合に便利です。より伝統的なデータ サイエンスのシナリオについては、スタンドアロンの Teradata Python ドライバと、ipython sql 拡張機能による統合について検討しました。
さらに詳しく
ご質問がある場合やさらにサポートが必要な場合は、 コミュニティフォーラム にアクセスしてサポートを受けたり、他のコミュニティ メンバーと交流したりしてください。