Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Snowflake女子会#3 Snowpipeの良さを5分で語るよ
Search
tkkihr2548
December 12, 2024
Technology
0
180
Snowflake女子会#3 Snowpipeの良さを5分で語るよ
tkkihr2548
December 12, 2024
Tweet
Share
More Decks by tkkihr2548
See All by tkkihr2548
BigQuery × ML × troccoを用いた VoC分析のためのデータ基盤構築
lana2548
0
220
Other Decks in Technology
See All in Technology
Splunk Enterpriseで S3のデータを直接検索してみた!
recruitengineers
PRO
2
130
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
220
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
150
Connect × Server-Side Kotlinで実現する!スキーマ駆動開発と品質改善の実践
sansantech
PRO
1
220
JAWS-UG 横浜支部 #76 AWS re:Invent 2024 宇宙一早い Recap LT3Amazon EKS Auto Modeと遊び(パーティ)の話
tjotjo
0
190
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
160
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
650
密着! Bedrockerがre:Invent 2024で過ごした5日間を紹介
minorun365
PRO
3
390
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
180
re:Invent2024のIaC周りのアップデート&セッションの共有/around-re-invent-2024-iac-updates
tomoki10
0
990
ニューモーフィズムってどうなの
toridori_dev
0
110
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
380
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
1
150
Being A Developer After 40
akosma
87
590k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Documentation Writing (for coders)
carmenintech
66
4.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
How to Ace a Technical Interview
jacobian
276
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
How STYLIGHT went responsive
nonsquared
95
5.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Transcript
Snowpipeの良さを5分で語るよ Snowflake女子会#3 2024.12
2 庵原 崚生(Takaki Ihara) 株式会社primeNumber シニアデータエンジニア primeNumber1人目のデータエンジニア → JTC SIerのフロントエンドエンジニア
先週ジムでぎっくり腰になって療養中 ポケポケのやりたい
会社概要 3 株式会社primeNumber 代表取締役CEO 田邊 雄樹 2015年11月 約105名 約34億円 東京都品川区上大崎3丁目1番1号
JR東急目黒ビル5F 会社名 代表 創業 メンバー数 累計調達額 オフィス © primeNumber Inc.
あらゆるデータを、 ビジネスの力に変える。 人とAIが共存する時代に。 知の源泉となるデータを、 誰もがすばやく、自由に使えるように。 primeNumberは、テクノロジーの力で データ活用における不自由をなくし、 あらゆるデータを、ビジネスの力に変えていく。 そして、それまでの常識や産業の枠を超えて、 さまざまな人や企業、技術、アイデアとつながり、
まだない価値を共に生み出していく。 私たちは、人とデータの開かれた関係を築くことで、 人の創造力を解放し、 世界中のビジネスと社会全体の可能性を拡げます。 VISION 4 © primeNumber Inc.
5 さてみなさん、 Snowpipe。使ってますか?
6 もしかしてご存知ない?
7 伝授しましょう
8 Snowpipeとは? 例えば、CSVファイルをSnowflakeに入れたい時にどうするか? SnowSQL Snowsight
9 Snowpipeとは? 例えば、CSVファイルをSnowflakeに入れたい時にどうするか? SnowSQL Snowsight 手動でファイル連携するのは結構面倒!! とはいえOSS採用するにもSaaS契約するにも大変!!
10 そんな時のSnowpipe
11 改めて、Snowpipeとは? Snowflakeに対して、継続的なデータロードを行える仕組み → S3やGoogle Cloud Storageなどのクラウドストレージ(外部ストレージ)にファイル が格納されたら、Snowflakeに通知が飛び、勝手にテーブルにファイルデータが格納され る Continuous
ingestion, and data streaming
12 ざっくりいうと データ取り込みを“勝手に” やってくれるヤツです
13 何が嬉しいの? • 管理が必要最低限になる ◦ データロードのコンピューティングリソース ▪ サーバレス ◦ 転送タイミングの調整が不要
▪ メッセージングキューの利用 ▪ ニアリアルタイム連携 ▪ SimpleIngestManager(後述) • データパイプラインとしての堅牢性 ◦ 冪等性の担保 ◦ 1度ロードしたファイルは14日間ロードできない • コストの納得感 ◦ ベストプラクティスに則ればコストを最小限にできる ▪ ファイルサイズ
14 働きすぎなデータエンジニアの 強い味方
15 Snowpipeを使っていない世界線(おおげさ) またエラー出た... クリスマスに残業か… 毎日バッチジョブの 結果を見て手動で修正... 疲れた...
16 Snowpipeを使っている世界線(おおげさ) Snowpipeが 働いてる間に一服 データをS3にあげたら あとは勝手にやってくれる
17 Snowpipe、使いたくなりません?
18 私が組んだ実例も授けましょう
19 Snowpipeを使った実際の例 Excelのダウンロードを画面上でしか行えないサービスを スクレイピングツール(Selenium)を用いて開発した話
20 Snowpipeを使った実際の例 Excelのダウンロードを画面上でしか行えないサービスを スクレイピングツール(Selenium)を用いて開発した話 ⭐Point⭐ • 後続処理の起動タイミング に合わせるために、あえて 自動データロード機能を 不採用
• SimpleIngestManagerとい うPythonライブラリを用い てSnowpipeを制御 • 諸々のデプロイメントは Terraformを利用
21 とはいえ注意点もあります
22 Snowpipeを使う上での注意点 便利だけではないよ、Snowpipe • 監視は必要 ◦ COPY_HISTORYなどを用いた監視 ◦ エラー時はNOTIFICATION INTEGRATIONを用いた通知管理(メール・Slack)
• ファイルサイズの最適化が必要 ◦ 1ファイルあたり100MB ~ 250MBが最適 ◦ 同じデータ量でもファイルサイズが小さいとコストが跳ね上がる 出展: Snowflake Snowpipe: The Definitive Guide (2024)
23 正しく使って 良いデータエンジニアリングライフを
24 参考記事 めっちゃ助かる。Snowflakeコミュニティの成熟度に感謝。 • Snowpipe によるファイル取り込みを AWS Lambda から動かしてみる ◦
LambdaからSimpleIngestManagerを用いてSnowpipeを制御方法の指南書 ◦ Terraformでのデプロイ前提なのが嬉しい • Snowflake Snowpipeを本番導入する前に読むやつ ◦ 「At least once」との付き合い方について説いている ◦ 本番導入に際して、気をつけるべき点がどこかを包括的に説明
25 最後に宣伝 一緒に働いてくれる方、探しています!👀 • データエンジニア • データストラテジスト • その他の職種について(全ての求人一覧) •
primeNumberリクルートサイト
Thank you!