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
SPCS で実現する dbt All in Snowflake の世界
Search
あれ
March 02, 2024
Technology
3
710
SPCS で実現する dbt All in Snowflake の世界
2024/03/01「
Snowpark Container Servicesで解き放つ!データアプリケーションの魔法
」発表スライドです。
あれ
March 02, 2024
Tweet
Share
More Decks by あれ
See All by あれ
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
490
Python フレンドリーなクラウドデータプラットフォーム Snowflake のお話 ~ データ分析基盤のアレもコレも Python でやってみよう
__allllllllez__
0
78
5分でわかる! Snowpark Container Service
__allllllllez__
0
850
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
2
380
私が trocco を推す理由
__allllllllez__
2
870
External Network AccessとStreamlitでデータロードアプリ作ってみた
__allllllllez__
0
530
異形頭の作りかた
__allllllllez__
0
1.4k
💰年度末予算消化祭💰 Large Memory Instance で 画像分類してみた
__allllllllez__
0
480
Other Decks in Technology
See All in Technology
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
240
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
roppongirb_20250911
igaiga
1
240
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
880
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
100
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
500
Apache Spark もくもく会
taka_aki
0
130
データ分析エージェント Socrates の育て方
na0
6
1.9k
Modern Linux
oracle4engineer
PRO
0
160
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
480
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Become a Pro
speakerdeck
PRO
29
5.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Speed Design
sergeychernyshev
32
1.1k
What's in a price? How to price your products and services
michaelherold
246
12k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
GraphQLとの向き合い方2022年版
quramy
49
14k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Transcript
SPCS で実現する dbt All in Snowflake の世界 2024/03/01 あれ(@__allllllllez__)
© 2024 DATUM STUDIO Co. Ltd. 1 自己紹介 【名前】 あれ(@__allllllllez__)
広報さんにカッコよく撮影してもらってウッキウキ→ 【所属】 DATUM STUDIO株式会社 データエンジニアリング本部 データエンジニア部 2024 Data Superheroes
© 2024 DATUM STUDIO Co. Ltd. 2 コンテンツ • Snowpark
Container Services(SPCS)って何? ~SPCS ざっくり概要~ • SPCSについてもうちょっと詳しく ~機能周りのアレコレ~ • SPCS使ってみた ~dbt 全部乗せ~
© 2024 DATUM STUDIO Co. Ltd. Snowpark Container Services (SPCS)って何?
© 2024 DATUM STUDIO Co. Ltd. 4 Snowpark Container Services
(SPCS)って何? • コンテナ in Snowflake • Snowflakeのデータベースやステージにア クセス可能 • アプリケーションでSnowflakeのデータを扱 うために、データをSnowflake外に出す必 要はない • カンタン操作 • アプリケーションイメージのアップロードは Docker 等で可能 • サービス実行などの操作も、SQLなどのイ ンタフェースでOK • フルマネージド • クラスターやノードの管理は不要 • オートスケール • こんなことができる • 任意の言語で作成したアプリケーションを Snowflakeに持ち込める • 長時間実行可能 Snowflake 内でコンテナ化アプリケーションを容易にデプロイ・管理・スケーリン グするために設計されたフルマネージドコンテナサービス https://www.snowflake.com/blog/snowpark-container-services-deploy-genai-full-stack-apps/
© 2024 DATUM STUDIO Co. Ltd. 5 Snowpark Container Services
(SPCS)って何? つまり、 こういうこと データウェアハウス データインジェスト データ変換フレームワーク データカタログ AI/MLプラットフォーム ビジネスインテリジェンス 分析環境 ワークフローエンジン お好きな言語の データアプリケーション
© 2024 DATUM STUDIO Co. Ltd. 6 Snowpark Container Services
(SPCS)って何? つまり、 こういうこと データウェアハウス データインジェスト データ変換フレームワーク データカタログ AI/MLプラットフォーム ビジネスインテリジェンス 分析環境 ワークフローエンジン お好きな言語の データアプリケーション ※実は動かせないもの あったらすまんな
© 2024 DATUM STUDIO Co. Ltd. Snowpark Container Services だいたいわかった
© 2024 DATUM STUDIO Co. Ltd. もうちょっと詳しく
© 2024 DATUM STUDIO Co. Ltd. 9 SPCSについてもうちょっと詳しく SPCS を構成する主な要素は、イメージレジストリ・コンピューティングプール・
サービス/ジョブの3つ イメージ レジストリ アプリケーション イメージの保存先 コンピューティング プール ジョブ/サービスを実行する 仮想マシン ノード コレクション 継続しない アプリケーション (現在 PrPr) 継続して稼働する アプリケーション サービスで定義した 処理を呼び出すUDF ジョブ サービス関数 サービス 仕様 yaml コンテナの設定 コマンドに直接書いてもいい push インタフェース インタフェース(SQL・CLIなど)操作 pull 作成 ステージにput コマンド 操作
© 2024 DATUM STUDIO Co. Ltd. 10 SPCSについてもうちょっと詳しく SPCSのコスト要因は、主にストレージ・コンピューティングプール・データ転送 ✓
イメージレジストリ ✓ ログ(イベントテーブルに書き出したログ) ✓ ボリューム(ステージをマウントした場合) ストレージ コンピューティングプール データ転送 ✓ インスタンス ファミリータイプ xノード数 x 実行時間 ✓ ファミリータイプ別性能一覧 → CREATE COMPUTE POOL ✓ 消費クレジット一覧 → CreditConsumptionTable.pdf ✓ Ingress(外部から Snowflake へのデータの移動) ✓ Egress(Snowflake から外部へのデータの移動) Koreedaさんの記事にあるコンテナ費用まとめが一番わかりやすいです
© 2024 DATUM STUDIO Co. Ltd. 11 SPCSについてもうちょっと詳しく コンピューティングプール・データ転送のコストは、Snowsight「Admin」> 「Cost
Management」で確認が可能
© 2024 DATUM STUDIO Co. Ltd. 12 SPCSについてもうちょっと詳しく コンテナに関する情報はSQLで取得可能。また、SQL以外のインターフェースも開 発が進んでいる
ステータスとログ インタフェース ✓コンピュートプールの状態、サービスのログなどは SQL コマンドで確認が可能 ✓ 現時点ではSQLでSPCS構成オブジェクトの操作が可能 ✓ SnowCLI でも操作可能になるはず!(現在 PrPr)
© 2024 DATUM STUDIO Co. Ltd. Snowpark Container Services 完全に理解した
© 2024 DATUM STUDIO Co. Ltd. では実際に使ってみましょう
© 2024 DATUM STUDIO Co. Ltd. お題はこちら
© 2024 DATUM STUDIO Co. Ltd. in
© 2024 DATUM STUDIO Co. Ltd. 全部乗せ
© 2024 DATUM STUDIO Co. Ltd. 18 dbt ALL in
Snowflake ざっくりこんな感じの構成 イメージ レジストリ アプリケーション イメージの保存先 コンピューティングプール dbt run dbt test dbt docs push インタフェース pull 作成 コマンド 操作 アクセス サービス ジョブ ステージ dbt プロジェクト 配置 マウント テスト実行 モデル作成
© 2024 DATUM STUDIO Co. Ltd. 19 dbt ALL in
Snowflake • コンテナが生存し続ける必要がないので、ジョブ(PrPr)で実行する まずは dbt debug で疎通確認 • ログで All Check Passed! を確認 (中略) ※Oauth トークンを使用した接続は(現状)不可、 ネットワークルールと外部アクセス統合が必要
© 2024 DATUM STUDIO Co. Ltd. 20 dbt ALL in
Snowflake • これも生存し続ける必要がないのでジョブ(PrPr)で実行する dbt compile でステージに書き込ませてみる ファイルできてる!
© 2024 DATUM STUDIO Co. Ltd. 21 dbt ALL in
Snowflake dbt seed と dbt run でデータを作っていく • これもジョブ(PrPr)で実行する • まずは seed • • 続けて run テーブルできてる! ※使用データは Building a Kimball dimensional model with dbt でおなじみ dbt-dimensional-modelling/adventureworks
© 2024 DATUM STUDIO Co. Ltd. 22 dbt ALL in
Snowflake 最後に dbt docs でドキュメント作成&SPCSでホスティングしてみる • 継続起動してほしいので、サービスとして実行 • サービス作成が成功したら、しばし待ってから、URLを確認
© 2024 DATUM STUDIO Co. Ltd. 23 dbt ALL in
Snowflake SPCS サービスへのアクセスは、Snowflake の認証により可能になる(Snowflake Oauth)
© 2024 DATUM STUDIO Co. Ltd. 24 dbt ALL in
Snowflake Snowflake で普通に dbt docs が閲覧できます
© 2024 DATUM STUDIO Co. Ltd. in でした
© 2024 DATUM STUDIO Co. Ltd. Snowpark Container Services めっちゃ楽しい
© 2024 DATUM STUDIO Co. Ltd. だいたい何でもできる 無限の可能性がある 今後のアップデートも非常に楽しみ
© 2024 DATUM STUDIO Co. Ltd. おしまい