Upgrade to Pro — share decks privately, control downloads, hide ads and more …

今日から始められる!SPCSのきほん

Avatar for あれ あれ
November 22, 2025

 今日から始められる!SPCSのきほん

Avatar for あれ

あれ

November 22, 2025
Tweet

More Decks by あれ

Other Decks in Technology

Transcript

  1. 2025 DATUM STUDIO Co. Ltd. 自己紹介 広報さんにカッコよく撮影していただいた 【所属】 DATUM STUDIO株式会社

    データエンジニアリング本部 データエンジニア部 GL/プリンシパルエンジニア 【ユーザーコミュニティ】 • Snowflake ユーザーグループ(SnowVillage) 運営企画チーム(Mayors) / 女子会幹事 / コン テナグループ リーダー • primeNumber User Group(pUG) リーダー 2024- 2025 Data Superheroes Data Superhero のすがた 【名前】 あれ / 梶谷 美帆 / Miho Kajiya
  2. 2025 DATUM STUDIO Co. Ltd SPCS って何? Snowpark Container Services(以下

    SPCS) は、Snowflake で簡単にコンテナアプリ ケーションを運用するために設計されたフルマネージドなコンテナサービスです。 ✓ Snowflake アカウント内でコンテナアプリケーションを実行する、 フルマネージドコンテナサービス ✓ 任意の言語で作成したアプリケーションをSnowflakeに持ち込め る(例:C/C++、Node.js、Python、Rなど) ✓ 使い慣れたSQLやPython API、CLIでデプロイや実行などの操作 が可能 ✓ vCPU数・メモリが小さく低コストなインスタンスから、強力な GPU搭載インスタンスまで、用途に合わせて選択可能 引用:https://www.snowflake.com/en/blog/snowpark-container-services-deploy-genai-full-stack-apps/ 特徴③Native Appsとの統合 ✓ 任意の言語で書かれたアプリケーションをマーケットプレイス で配布・入手可能 特徴②学習コストが低く、手がかからない ✓ アプリケーションの構成はyamlで記述するだけ ✓ コンテナ環境のネットワーク等の構成、セキュリティ設定など は自動的に行われ、ユーザーはアプリケーションの開発に専念 できる 特徴①Snowflakeのデータをセキュアに扱える ✓ アプリケーションは Snowflake 環境内で実行される ✓ Snowflake のデータをアプリケーションで扱うために、データ をSnowflake外に出す必要がない SPCSとは 引用: https://docs.getdbt.com/docs/cl oud-integrations/set-up- snowflake-native-app
  3. 2025 DATUM STUDIO Co. Ltd 実はこんなにアップデートが出てます。自身のアップデートのほか、SPCSベースの 機能が登場するのも特徴的なところ 他にも… ✓ Platform

    Observability ✓ Async オプション ✓ Execution History ✓ SiS コンテナランタイム (PrPr) これまでのふりかえり 2023/06 (Summit) 公開 2024 2025 2023/12 PuPr 2024/06 (Summit) Native Apps with SPCS 2024/10 Notebook コンテナランタイム PuPr 2025/06 (Summit) Openflow Snowflake deployments (SPCS版) 世界初! SnowVillage SPCSオンリーイベント ✓ プラットフォームメトリクス の取得 ✓ ブロック ストレージ ボリュー ムが使用可能に コンピュートプールの 料金が半額に ✓ Native Apps with SPCS GA ✓ アウトバウンド PrivateLink PuPr ✓ Native Apps with SPCS が PrivateLink に対応 PuPr ✓ インバウンド Private Link が PuPr ✓ アプリケーションメトリクス の取得 ✓ サービスの自動停止 (AUTO_SUSPEND_SECS ) ✓ ML Jobs PuPr ✓ Openflow SPCS PuPr ✓ ステージボリュームの 新実装 ✓ ML jobs GA ✓ REPLICAS
  4. 2025 DATUM STUDIO Co. Ltd 1. さいしょのチュートリアル かんたんなサービスを作ってみよう! CREATE COMPUTE

    POOL tutorial_compute_pool MIN_NODES = 1 MAX_NODES = 1 INSTANCE_FAMILY = CPU_X64_XS; ① コンピュートプールを作ります CREATE IMAGE REPOSITORY tutorial_repository; ② イメージレジストリを立てます お手元の docker desktop 等で イメージをpushしましょう CREATE SERVICE tutorial_service IN COMPUTE POOL tutorial_compute_pool FROM @tutorial_stage SPECIFICATION_FILE= $’tutorial_spec.yaml’; ③ サービスを作ります ※操作を簡略化しています 全てのコマンドは チュートリアル1 を ご参照ください
  5. 2025 DATUM STUDIO Co. Ltd 1. さいしょのチュートリアル できあがり! CREATE FUNCTION

    my_echo_udf(text varchar) RETURNS varchar SERVICE=identifier(tutorial_service) ENDPOINT=echoendpoint AS '/echo'; ⑤ SQLからも呼んでみましょう \サザエさーん/ ④ ブラウザからアクセスしてみましょう ※操作を簡略化しています 全てのコマンドは チュートリアル1 を ご参照ください
  6. 2025 DATUM STUDIO Co. Ltd 2. GPU をぶん回す インスタンスファミリーを指定するだけでぶん回せます、ご利用は計画的に CREATE

    COMPUTE POOL tutorial_compute_pool MIN_NODES = 1 MAX_NODES = 1 INSTANCE_FAMILY = GPU_NV_L; コンピュートプールを作るときに指定するだけ ※ストレージは全て100GB https://docs.snowflake.com/ja/developer-guide/snowpark-container-services/working-with-compute-pool#creating-a-compute-pool https://www.snowflake.com/legal-files/CreditConsumptionTable.pdf コンピュートプール一覧(GCP以外)
  7. 2025 DATUM STUDIO Co. Ltd 3. 選べるストレージタイプ コンテナのローカルディスク、メモリストレージ、ブロックストレージ、内部ステー ジを利用可能 spec:

    containers: : (省略) volumes: - name: logs source: local - name: mem source: memory size: 2G - name: blk source: block size: 10Gi blockConfig: : (省略) - name: stg source: stage stageConfig: name: "@ai_models_stage" Spec ファイルをこのように書くのだ ローカルディスク メモリストレージ RAMです ブロックストレージ スループットとかIOPSとか 初期化に使用するスナップショット指定できる (CREATE SNAPSHOTでスナップショット保存) 内部ステージ 内部ステージの名前およびフォルダ名、 メタデータキャッシュの保持期間などを指定できる
  8. 2025 DATUM STUDIO Co. Ltd 4. サービスを立てなくても(ML Jobs) ええっ サービスもジョブを作成せずにコンピュートプールでジョブ実行を!?

    できらぁっ!! from snowflake.ml.jobs import remote (省略) @remote("TUTORIAL_COMPUTE_POOL", stage_name="payload_stage", session=session) def train_model(data_table: str): # ここに機械学習のコードを書きます ... job = train_model("my_training_data") Python でデコレータ @remote を置くだけでよい
  9. 2025 DATUM STUDIO Co. Ltd 5. コンテナな Native App データ、ロジック、セットアップスクリプトに加えてイメージも配布できちゃう

    https://docs.snowflake.com/ja/developer-guide/native-apps/native-apps-about ├── app └── manifest.yml └── README.md └── setup_script.sql ├── README.md ├── service └── echo_service.py ├── echo_spec.yaml ├── Dockerfile └── templates └── basic_ui.html ├── snowflake.yml ファイル構成例 snow app run あとは Snowflake CLI でポン! ※操作を簡略化しています 全てのコマンドは チュートリアル を ご参照ください
  10. 2025 DATUM STUDIO Co. Ltd. あと、Observability とか PrivateLink とか Async

    とか Notebook とか Openflow とかも 話したいけど今日はここまで