Snowflake Python APIs チュートリアルの共通セットアップ¶
概要¶
このトピックでは、このドキュメントで提供するすべての Snowflake Python APIs のチュートリアルで必要な共通のセットアップ方法を説明します。
Snowflake Python APIs の概要¶
セットアップを始める前に、 Snowflake Python APIs のストラクチャをご覧ください。次の表は、 API の一般的なモジュールの一覧です。
モジュール |
説明 |
---|---|
|
Snowflake データベースから取得した特定のリソースインスタンスを表すイテレーターを定義します。 |
|
Snowflakeデータベースを管理します。 |
|
Snowflakeスキーマを管理します。 |
|
Snowflakeテーブルを管理します。 |
|
Snowflakeタスクを管理します。 |
|
より便利にタスクグラフ (DAGs) を管理するための |
|
Snowpark Container Services でコンピューティングプールを管理します。 |
|
Snowpark Container Services のイメージリポジトリを管理します。 |
|
Snowpark Container Services のサービスを管理します。 |
現在利用可能な APIs の完全なリストについては、 API リファレンスドキュメント をご参照ください。
snowflake.core
モジュールは、Snowflake オブジェクトを管理するコア Snowflake Python APIs へのエントリポイントです。API を使うには、共通のパターンに従います。
Snowpark または Python Connector 接続を使用して、Snowflake への接続を表すセッションを確立します。
snowflake.core
からRoot
クラスをインポートしてインスタンス化し、引数として Snowpark セッションオブジェクトを渡します。出来上がった
Root
オブジェクトを使って、 API の残りのメソッドや型にアクセスします。
次のコードは、典型的なこのパターンの例です。
from snowflake.snowpark import Session
from snowflake.core import Root
session = Session.builder.configs(connection_params).create()
root = Root(session)
様々な接続オプションと属性の詳細については、 Snowflake Python APIs によるSnowflakeへの接続 をご参照ください。
注釈
Snowflake Python APIs は、Snowpark セッションまたは Python Connector 接続のいずれかを使用して、Snowflake への接続を確立できます。先の例では、Snowparkのセッションを使っています。
次のステップに進み、 API 、開発環境のセットアップを開始しましょう!
Snowflake Python APIs のインストール¶
重要
Snowflake Python APIs は現在、以下のバージョンのPythonをサポートしています。
3.9
3.10
3.11
3.12
API をインストールする前に、Python環境を有効にする必要があります。
たとえば、condaを使用することも、仮想環境を使用することもできます。
condaまたは仮想環境を作成し、有効にするには、コマンドライン・ターミナルを開き、以下のコマンドを実行します。
conda create -n <env_name> python==3.10 conda activate <env_name>
python3 -m venv '.venv' source '.venv/bin/activate'
Snowflake Python APIs パッケージは PyPI で入手できます。
新しいcondaまたは仮想環境に API パッケージをインストールするには、以下のコマンドを実行します。
pip install snowflake -U
開発環境のセットアップ¶
このチュートリアルでは、Jupyterノートブックで実行できるコード例を説明します。チュートリアルの各ステップでは、 Snowflake Python APIs の機能を段階的に紹介しています。
まず、ノートブックのコード例を実行できるように、開発環境をセットアップすることから始めます。
以下の接続パラメータで
$HOME/.snowflake/connections.toml
という名前のファイルを作成し、実際の認証情報で更新します。[default] account = "<YOUR ACCOUNT NAME>" user = "<YOUR ACCOUNT USER>" password = "<YOUR ACCOUNT USER PASSWORD>" # optional # warehouse = "<YOUR COMPUTE WH>" # optional # database = "<YOUR DATABASE>" # optional # schema = "<YOUR SCHEMA>"
注釈
account
パラメーターは、アンダースコアを持つ アカウント識別子 には対応して いません 。アンダースコアの代わりにダッシュを使用したアカウント識別子を指定する必要があります。詳細については、 組織のアカウント名 をご参照ください。この例では、
default
という接続定義を作成することで、これらのパラメーターを環境内のSnowflakeへのデフォルト接続として指定します。ノートブックを開くには、次のいずれかの方法を使います。
Jupyterノートブックをサポートするコードエディタ(Visual Studio Codeなど)で新しいノートブックを開きます。
ブラウザでノートブックを開くには、コマンド
jupyter notebook
でノートブックサーバーを起動します。お使いの環境でノートブックが実行できることを確認するには、ノートブック・サーバーを起動する前に、ターミナルで
conda install notebook
を実行します。
ノートブックの最初のセルで、以下のインポートステートメントを実行します。
from datetime import timedelta from snowflake.snowpark import Session from snowflake.snowpark.functions import col from snowflake.core import Root, CreateMode from snowflake.core.database import Database from snowflake.core.schema import Schema from snowflake.core.stage import Stage from snowflake.core.table import Table, TableColumn, PrimaryKey from snowflake.core.task import StoredProcedureCall, Task from snowflake.core.task.dagv1 import DAGOperation, DAG, DAGTask from snowflake.core.warehouse import Warehouse
注釈
このセルを実行すると、Pythonカーネルを設定するよう促されるかもしれません。conda環境を起動した場合は、Pythonカーネルとしてcondaを選択します(例えば、次のようにします。
~/miniconda3/envs/<your conda env>/bin/python
)。このセルでは、SnowparkとSnowflakeオブジェクトを管理するコア APIs をインポートします。
次のセルに次のコードを実行します。
connection_params = { "connection_name": "default" }
このセルでは、以前に設定した
default
という接続定義を指定するconnection_params
ディクショナリを作成することで、セッションの Snowflake 接続パラメータを設定します。Snowflakeへの接続を確立するには、Snowparkセッションを作成し、引数として
connection_params
を渡します。session = Session.builder.configs(connection_params).create()
Root
オブジェクトを作成するには、Root
コンストラクターにsession
オブジェクトを渡します。root = Root(session)
これで完了です。この4つのセルでコードを実行すれば、 Snowflake Python APIs を使用する準備が整います。
次の内容¶
チュートリアル1:データベース、スキーマ、テーブル、ウェアハウスの作成 チュートリアル1 をご覧いただけます。