0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【分析基盤】snowparkを使用して試しにnotebookからアクセスをしてみました。

Posted at

初めに

 snowparkは、クラウド型データウェアハウスである「Snowflake」の大規模なデータのクエリ、処理を実行する為のライブラリを提供します。このライブラリを使用することで、Snowflake上でデータをライブライ(Snowflake API)経由で処理をすることができます。

■ 公式ドキュメント

アナコンダ上の仮想環境

Anacondaの仮想環境から、condaコマンドよりpythonの仮想環境を作成します。

(base) C:\Users\user>conda create --name py38_env --override-channels -c https://repo.anaconda.com/pkgs/snowflake python=3.9 numpy pandas pyarrow

その後、snowparkのライブラリをインストールしてみます。
下記のようにライブラリのインストールが進んでいきます。

(base) C:\Users\user>conda install snowflake-snowpark-python
  added / updated specs:
    - snowflake-snowpark-python


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    asn1crypto-1.5.1           |  py312haa95532_0         210 KB
    ca-certificates-2025.2.25  |       haa95532_0         130 KB
    certifi-2025.1.31          |  py312haa95532_0         164 KB
    conda-24.11.3              |  py312haa95532_0         1.2 MB
    openssl-3.0.16             |       h3f729d1_0         7.8 MB
    snowflake-connector-python-3.14.0|py312h5da7b33_100         1.9 MB
    snowflake-snowpark-python-1.29.1|py312haa95532_100         2.7 MB
    tzlocal-5.2                |  py312haa95532_0          43 KB
    ------------------------------------------------------------
                                           Total:        14.1 MB

The following NEW packages will be INSTALLED:

  asn1crypto         pkgs/main/win-64::asn1crypto-1.5.1-py312haa95532_0
  snowflake-connect~ pkgs/main/win-64::snowflake-connector-python-3.14.0-py312h5da7b33_100
  snowflake-snowpar~ pkgs/main/win-64::snowflake-snowpark-python-1.29.1-py312haa95532_100
  tzlocal            pkgs/main/win-64::tzlocal-5.2-py312haa95532_0

The following packages will be UPDATED:

  ca-certificates                       2024.7.2-haa95532_0 --> 2025.2.25-haa95532_0
  certifi                          2024.7.4-py312haa95532_0 --> 2025.1.31-py312haa95532_0
  conda                              24.7.1-py312haa95532_0 --> 24.11.3-py312haa95532_0
  openssl                                 3.0.14-h827c3e9_0 --> 3.0.16-h3f729d1_0


Proceed ([y]/n)? y


Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

notebookから実行

下記のようにjupyter notebookを起動します。

(base) C:\Users\user>jupyter notebook

image.png

ここで認証情報を下記のjsonのように設定しています。
これはsnowflakeのアカウントのページの詳細から確認することができます。

{
    "account" : "xxxxxxxxxxxxxxxx",
    "user" : "xxxxxxx",
    "password" : "xxxxxxxxxxxx",    
    "role" : "ACCOUNTADMIN"
}

上記のファイルを、notebookの同じフォルダに「cred.json」と指定して読み込みを実施します。

下記のようにsessionにデータフレームのオブジェクトを作成することができる。

tableName = "MY_DB.MY_SCHEMA.RECEIPT"
df = new_session.table(tableName).limit(10)
df.show()

image.png

下記のようにオブジェクトをjoinして、selectを実施することも可能です。

joined_df = df.join(df2, df["SALES_EPOCH"] == df2["SALES_YMD"])
joined_df.select("SALES_YMD").show()

image.png

最後に

 今回は、snowparkのライブラリを使用してローカルの開発環境から、snowflakeのDWH上のテーブルにアクセスしてみました。もう少し今後はDataFrameの扱いを見ていきたいですね。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?