Snowflake Python APIs チュートリアルの共通セットアップ

概要

このトピックでは、このドキュメントで提供するすべての Snowflake Python APIs のチュートリアルで必要な共通のセットアップ方法を説明します。

Snowflake Python APIs の概要

セットアップを始める前に、 Snowflake Python APIs のストラクチャをご覧ください。次の表は、 API の一般的なモジュールの一覧です。

モジュール

説明

snowflake.core

Snowflake データベースから取得した特定のリソースインスタンスを表すイテレーターを定義します。

snowflake.core.database

Snowflakeデータベースを管理します。

snowflake.core.schema

Snowflakeスキーマを管理します。

snowflake.core.table

Snowflakeテーブルを管理します。

snowflake.core.task

Snowflakeタスクを管理します。

snowflake.core.task.dagv1

より便利にタスクグラフ (DAGs) を管理するための snowflake.core.task のタスク APIs よりも高いレベルの APIs のセット。

snowflake.core.compute_pool

Snowpark Container Services でコンピューティングプールを管理します。

snowflake.core.image_repository

Snowpark Container Services のイメージリポジトリを管理します。

snowflake.core.service

Snowpark Container Services のサービスを管理します。

現在利用可能な APIs の完全なリストについては、 API リファレンスドキュメント をご参照ください。

snowflake.core モジュールは、Snowflake オブジェクトを管理するコア Snowflake Python APIs へのエントリポイントです。API を使うには、共通のパターンに従います。

  1. Snowpark または Python Connector 接続を使用して、Snowflake への接続を表すセッションを確立します。

  2. 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)
Copy

様々な接続オプションと属性の詳細については、 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を使用することも、仮想環境を使用することもできます。

  1. condaまたは仮想環境を作成し、有効にするには、コマンドライン・ターミナルを開き、以下のコマンドを実行します。

    conda create -n <env_name> python==3.10
    conda activate <env_name>
    
    Copy
  2. Snowflake Python APIs パッケージは PyPI で入手できます。

    新しいcondaまたは仮想環境に API パッケージをインストールするには、以下のコマンドを実行します。

    pip install snowflake -U
    
    Copy

開発環境のセットアップ

このチュートリアルでは、Jupyterノートブックで実行できるコード例を説明します。チュートリアルの各ステップでは、 Snowflake Python APIs の機能を段階的に紹介しています。

まず、ノートブックのコード例を実行できるように、開発環境をセットアップすることから始めます。

  1. 以下の接続パラメータで $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>"
    
    Copy

    注釈

    account パラメーターは、アンダースコアを持つ アカウント識別子 には対応して いません 。アンダースコアの代わりにダッシュを使用したアカウント識別子を指定する必要があります。詳細については、 組織のアカウント名 をご参照ください。

    この例では、 default という接続定義を作成することで、これらのパラメーターを環境内のSnowflakeへのデフォルト接続として指定します。

  2. ノートブックを開くには、次のいずれかの方法を使います。

    • Jupyterノートブックをサポートするコードエディタ(Visual Studio Codeなど)で新しいノートブックを開きます。

    • ブラウザでノートブックを開くには、コマンド jupyter notebook でノートブックサーバーを起動します。

      お使いの環境でノートブックが実行できることを確認するには、ノートブック・サーバーを起動する前に、ターミナルで conda install notebook を実行します。

  3. ノートブックの最初のセルで、以下のインポートステートメントを実行します。

    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
    
    Copy

    注釈

    このセルを実行すると、Pythonカーネルを設定するよう促されるかもしれません。conda環境を起動した場合は、Pythonカーネルとしてcondaを選択します(例えば、次のようにします。 ~/miniconda3/envs/<your conda env>/bin/python)。

    このセルでは、SnowparkとSnowflakeオブジェクトを管理するコア APIs をインポートします。

  4. 次のセルに次のコードを実行します。

    connection_params = {
        "connection_name": "default"
    }
    
    Copy

    このセルでは、以前に設定した default という接続定義を指定する connection_params ディクショナリを作成することで、セッションの Snowflake 接続パラメータを設定します。

  5. Snowflakeへの接続を確立するには、Snowparkセッションを作成し、引数として connection_params を渡します。

    session = Session.builder.configs(connection_params).create()
    
    Copy
  6. Root オブジェクトを作成するには、 Root コンストラクターに session オブジェクトを渡します。

    root = Root(session)
    
    Copy

これで完了です。この4つのセルでコードを実行すれば、 Snowflake Python APIs を使用する準備が整います。

次の内容

チュートリアル1:データベース、スキーマ、テーブル、ウェアハウスの作成 チュートリアル1 をご覧いただけます。