Snowflake女子会#3 Snowpipeの良さを5分で語るよ
by
tkkihr2548
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Snowpipeの良さを5分で語るよ Snowflake女子会#3 2024.12
Slide 2
Slide 2 text
2 庵原 崚生(Takaki Ihara) 株式会社primeNumber シニアデータエンジニア primeNumber1人目のデータエンジニア → JTC SIerのフロントエンドエンジニア 先週ジムでぎっくり腰になって療養中 ポケポケのやりたい
Slide 3
Slide 3 text
会社概要 3 株式会社primeNumber 代表取締役CEO 田邊 雄樹 2015年11月 約105名 約34億円 東京都品川区上大崎3丁目1番1号 JR東急目黒ビル5F 会社名 代表 創業 メンバー数 累計調達額 オフィス © primeNumber Inc.
Slide 4
Slide 4 text
あらゆるデータを、 ビジネスの力に変える。 人とAIが共存する時代に。 知の源泉となるデータを、 誰もがすばやく、自由に使えるように。 primeNumberは、テクノロジーの力で データ活用における不自由をなくし、 あらゆるデータを、ビジネスの力に変えていく。 そして、それまでの常識や産業の枠を超えて、 さまざまな人や企業、技術、アイデアとつながり、 まだない価値を共に生み出していく。 私たちは、人とデータの開かれた関係を築くことで、 人の創造力を解放し、 世界中のビジネスと社会全体の可能性を拡げます。 VISION 4 © primeNumber Inc.
Slide 5
Slide 5 text
5 さてみなさん、 Snowpipe。使ってますか?
Slide 6
Slide 6 text
6 もしかしてご存知ない?
Slide 7
Slide 7 text
7 伝授しましょう
Slide 8
Slide 8 text
8 Snowpipeとは? 例えば、CSVファイルをSnowflakeに入れたい時にどうするか? SnowSQL Snowsight
Slide 9
Slide 9 text
9 Snowpipeとは? 例えば、CSVファイルをSnowflakeに入れたい時にどうするか? SnowSQL Snowsight 手動でファイル連携するのは結構面倒!! とはいえOSS採用するにもSaaS契約するにも大変!!
Slide 10
Slide 10 text
10 そんな時のSnowpipe
Slide 11
Slide 11 text
11 改めて、Snowpipeとは? Snowflakeに対して、継続的なデータロードを行える仕組み → S3やGoogle Cloud Storageなどのクラウドストレージ(外部ストレージ)にファイル が格納されたら、Snowflakeに通知が飛び、勝手にテーブルにファイルデータが格納され る Continuous ingestion, and data streaming
Slide 12
Slide 12 text
12 ざっくりいうと データ取り込みを“勝手に” やってくれるヤツです
Slide 13
Slide 13 text
13 何が嬉しいの? ● 管理が必要最低限になる ○ データロードのコンピューティングリソース ■ サーバレス ○ 転送タイミングの調整が不要 ■ メッセージングキューの利用 ■ ニアリアルタイム連携 ■ SimpleIngestManager(後述) ● データパイプラインとしての堅牢性 ○ 冪等性の担保 ○ 1度ロードしたファイルは14日間ロードできない ● コストの納得感 ○ ベストプラクティスに則ればコストを最小限にできる ■ ファイルサイズ
Slide 14
Slide 14 text
14 働きすぎなデータエンジニアの 強い味方
Slide 15
Slide 15 text
15 Snowpipeを使っていない世界線(おおげさ) またエラー出た... クリスマスに残業か… 毎日バッチジョブの 結果を見て手動で修正... 疲れた...
Slide 16
Slide 16 text
16 Snowpipeを使っている世界線(おおげさ) Snowpipeが 働いてる間に一服 データをS3にあげたら あとは勝手にやってくれる
Slide 17
Slide 17 text
17 Snowpipe、使いたくなりません?
Slide 18
Slide 18 text
18 私が組んだ実例も授けましょう
Slide 19
Slide 19 text
19 Snowpipeを使った実際の例 Excelのダウンロードを画面上でしか行えないサービスを スクレイピングツール(Selenium)を用いて開発した話
Slide 20
Slide 20 text
20 Snowpipeを使った実際の例 Excelのダウンロードを画面上でしか行えないサービスを スクレイピングツール(Selenium)を用いて開発した話 ⭐Point⭐ ● 後続処理の起動タイミング に合わせるために、あえて 自動データロード機能を 不採用 ● SimpleIngestManagerとい うPythonライブラリを用い てSnowpipeを制御 ● 諸々のデプロイメントは Terraformを利用
Slide 21
Slide 21 text
21 とはいえ注意点もあります
Slide 22
Slide 22 text
22 Snowpipeを使う上での注意点 便利だけではないよ、Snowpipe ● 監視は必要 ○ COPY_HISTORYなどを用いた監視 ○ エラー時はNOTIFICATION INTEGRATIONを用いた通知管理(メール・Slack) ● ファイルサイズの最適化が必要 ○ 1ファイルあたり100MB ~ 250MBが最適 ○ 同じデータ量でもファイルサイズが小さいとコストが跳ね上がる 出展: Snowflake Snowpipe: The Definitive Guide (2024)
Slide 23
Slide 23 text
23 正しく使って 良いデータエンジニアリングライフを
Slide 24
Slide 24 text
24 参考記事 めっちゃ助かる。Snowflakeコミュニティの成熟度に感謝。 ● Snowpipe によるファイル取り込みを AWS Lambda から動かしてみる ○ LambdaからSimpleIngestManagerを用いてSnowpipeを制御方法の指南書 ○ Terraformでのデプロイ前提なのが嬉しい ● Snowflake Snowpipeを本番導入する前に読むやつ ○ 「At least once」との付き合い方について説いている ○ 本番導入に際して、気をつけるべき点がどこかを包括的に説明
Slide 25
Slide 25 text
25 最後に宣伝 一緒に働いてくれる方、探しています!👀 ● データエンジニア ● データストラテジスト ● その他の職種について(全ての求人一覧) ● primeNumberリクルートサイト
Slide 26
Slide 26 text
Thank you!