📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

Jupyter Notebook で TiDB Cloud Lake に接続する



Jupyter Notebook は、コードの実行、データのクエリ、可視化の作成を行うためのインタラクティブな環境です。SQLAlchemy 用 TiDB Cloud Lake dialect を通じて、ノートブックを TiDB Cloud Lake に接続できます。

前提条件

開始する前に、次のものを用意してください。

  • Python 3.8 以降
  • TiDB Cloud Lake のアカウント、データベース、および Warehouse
  • 接続に使用するホスト、ユーザー名、パスワード、データベース、および Warehouse 名

接続情報の取得方法については、Warehouse に接続する を参照してください。

Jupyter Notebook と SQLAlchemy dialect をインストールする

仮想環境を作成して有効化します。

python3 -m venv .venv source .venv/bin/activate

Jupyter Notebook、SQLAlchemy dialect、および可視化に必要な依存関係をインストールします。

python3 -m pip install notebook tidbcloudlake-sqlalchemy pandas matplotlib

tidbcloudlake-sqlalchemy パッケージには、SQLAlchemy と必要な TiDB Cloud Lake Python ドライバーが含まれています。

Jupyter Notebook を起動します。

jupyter notebook

Jupyter のインターフェースで、Python ノートブックを作成します。

TiDB Cloud Lake に接続する

SQLAlchemy の接続 URI は、次の形式を使用します。

lake://<username>:<password>@<host>:443/<database>?warehouse=<warehouse>

ノートブックに認証情報を保存しないようにするため、Jupyter Notebook を起動する前に、接続 URI を環境変数に設定します。

export LAKE_SQLALCHEMY_URI='lake://<username>:<password>@<host>:443/<database>?warehouse=<warehouse>'

ノートブックで SQLAlchemy engine を作成します。

import os from sqlalchemy import create_engine, text engine = create_engine(os.environ["LAKE_SQLALCHEMY_URI"])

データをクエリして可視化する

次のセルを実行して、サンプルテーブルを作成し、それに対してクエリを実行します。

with engine.connect() as connection: connection.execute(text("DROP TABLE IF EXISTS jupyter_sales")) connection.execute( text( """ CREATE TABLE jupyter_sales ( sale_date DATE, quantity INT ) """ ) ) connection.execute( text( """ INSERT INTO jupyter_sales VALUES ('2026-08-01', 5), ('2026-08-01', 3), ('2026-08-02', 4), ('2026-08-03', 10) """ ) ) result = connection.execute( text( """ SELECT sale_date, SUM(quantity) AS total_quantity FROM jupyter_sales GROUP BY sale_date ORDER BY sale_date """ ) ) rows = result.fetchall() columns = list(result.keys())

クエリ結果を pandas DataFrame に変換し、棒グラフを作成します。

import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame(rows, columns=columns) df.plot.bar(x="sale_date", y="total_quantity", legend=False) plt.ylabel("Quantity") plt.tight_layout() plt.show()

チュートリアルが完了したら、サンプルテーブルを削除します。

with engine.connect() as connection: connection.execute(text("DROP TABLE IF EXISTS jupyter_sales"))

このページは役に立ちましたか?