データ分析
2024/01/11
與田 龍人

SnowflakeのDWHにAmazon S3のデータをロードする方法

今回は、Snowflakeのデータウェアハウスに、S3(Amazon Simple Storage Service)からデータをロードする方法について説明します。データウェアハウスは、大規模なデータセットを効果的に管理するためのツールです。S3はデータの安全な保管と管理に適したストレージです。この記事では、SnowflakeとS3を連携させる方法を紹介します。

はじめに

今回は、Snowflakeのデータウェアハウスに、S3(Amazon Simple Storage Service)からデータをロードする方法について説明します。データウェアハウスは、大規模なデータセットを効果的に管理し、クエリを実行するための重要なツールです。S3はデータの安全な保管と管理に適したストレージソリューションです。この記事では、SnowflakeとS3を連携させる方法を紹介します。

DWH(データウェアハウス)の作成

Snowflakeのスタート画面からデータ→データベースを選択し、右上の+データベースで任意の名前でデータベースを作成します。今回は「TEST_DWH」とします。


Snowflake S3データの取り込み

Snowflakeのスタート画面から、データベースを選択し、作成したデータウェアハウスを確認します。その後、DWH配下にS3ロード用のステージ「S3」を作成します。


Snowflakeにおけるステージとは、データのロードやエクスポート、コピーなどのデータ操作を行うための仮想的なデータの置き場所や入出力ポイントを指します。



  • Internal Stage(Snowflske独自のステージ): Snowflake自体のストレージに関連づけられたステージ。このステージは、データを一時的に格納し、データベース内での操作に使用されるもの。

  • External Stage(他の媒体のステージ): クラウドストレージプラットフォーム(AWS S3、Azure Blob Storage、GCSなど)に関連づけられたステージ。外部のファイルやデータを読み込み、書き出すために使用されるもの。



ステージが作成されたら、次に外部ステージを作成します。外部ステージは、外部のデータソースからデータをロードするための環境になります。



外部ステージの作成画面で、データを取り込む外部ソースを選択します。ここでは、S3を選択します。



外部ステージの詳細を設定します。例えば、ステージ名を since と設定し、URLを s3://since-sample-data と指定します。これにより、S3バケットとの接続が確立されます。以下のようにステージにデータが追加されていれば成功です。



まとめ

今回は、SnowflakeのデータウェアハウスとS3のデータを連携させる方法を解説しました。Snowflakeのデータウェアハウスを作成し、S3からデータをロードする外部ステージを設定することで、データのアクセスと分析を効率的に行うことができるようになります。この統合により、データ駆動型の意思決定をサポートし、ビジネス価値を最大化するチャンスが広がります。ぜひ、SnowflakeとS3を組み合わせてデータ分析の可能性を追求してみてください。

New call-to-action