2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【データ基盤構築/Snowflake】S3(データレイク)からデータをロードするためのSnowflakeの便利機能

Last updated at Posted at 2023-03-15

今回の課題

データレイクとしてAWSのS3を使用している場合に、
Snowflakeへデータをロードするための機能を調査する。

下記の記事を読んで、不明だった機能について理解してみた。

S3からSnowflakeにデータをロードできるSnowflakeの機能

1)Snowflakeの「TASK」機能

スケジュールや前処理の終了をトリガーにして、SQLを自動実行するように設定できる機能。
ロード処理をSnowflakeの「TASK」機能で定義しておけば、自動化できる。

Snowflakeは、S3を外部ステージとして使用することができ、クエリでのデータをロードすることも可能となっている。
TASK機能と組み合わせることで、S3のデータファイルを使用して定期的にSnowflakeでテーブル生成することが可能になる。

※参考:タスクの紹介(公式ドキュメント)

2)Snowpipe機能

S3からSnowflakeにデータを手動でロードしなくても、
S3でファイルが利用できるようになったことを検知して、自動で継続的にロードできるようにする仕組み。
下記の流れで処理を自動化できる。

■Snowpipe実装の流れ
1.S3にデータが格納されたタイミングでAWS SQSを使ってSnowpipeに通知を送る。
2.通知をされたSnowpipeがSnowflakeの中にデータをロードする。

下記の記事で、Snowpipeの実装方法が紹介されていた。

※参考
Amazon S3用のSnowpipeの自動化(公式ドキュメント)
Snowpipeの作成

まとめ

S3からSnowflakeにデータをロードする流れをイメージできた。

2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?