やってみたこと
Amazon S3のデータを
Microsoft Azure上で動くSnowflakeに取り込めるのか検証しました
検証のきっかけ
Snowflakeへデータを取り込む場合はS3などのデータレイクを使う事が一般的かと思います。
Snowflakeへのデータ取り込みを考える中で、例えばAmazon S3のデータをSnowflakeに取り込みたい場合はAWS上で動くSnowflakeでないといけないのでは?という疑問が生まれました。
ドキュメントによると
Snowflakeは、Snowflakeアカウントのクラウドプラットフォームに関係なく、
次のいずれかの場所にステージングされたファイルからのデータのロードをサポートしています。
ドキュメントよりSnowflakeアカウントとデータレイクのサービスは関係ないとのことですが、この目で確かめてみたいので検証してみます!
検証内容
Amazon S3 に格納されているデータを
Microsoft Azure 上で動く Snowflake に取り込んでみた!
準備したもの
・CSV形式のダミーデータ
・Amazon S3
・Snowflakeトライアルアカウント
ダミーデータの作成
Chat GPTに作ってもらいました!テストデータ作成でもお世話になっています。
Snowflake
1. まず以下のURLからトライアルアカウントを作成します。
クラウドプロバイダーは「Microsoft Azure」を選択しました。
2.データベース、スキーマ、テーブルを作成
CUSTOMERテーブルにCSVファイルのデータを取り込みます。
②Amazon S3
バケットを作成し、サンプルデータをアップロード
Snowflakeへ取り込み
前提
Amazon S3からのデータ取り込みは外部ステージにあげたCSVファイルをCOPYコマンドで取り込みます。
・外部ステージ
・COPYコマンド
実践
SnowflakeのGUI上でCOPYコマンドを実行します。
結果
CUSTOMERテーブルにデータが入っていることを確認できました。
結論
Snowflakeのクラウドプラットフォームと、データレイクのサービスは関係なくデータをロードできる!
最後に
ドキュメントを確認して終わりでは無く、自分の目で検証することは大事だと感じました。
今後も少しでも気になったことは検証してみようと思います!