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
DatumSt_Snowpark0126.pdf
Search
tat
January 27, 2023
Technology
0
310
DatumSt_Snowpark0126.pdf
tat
January 27, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
210
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
920
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
400
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
830
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
120
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
390
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.5k
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
110
ガチな登山用デバイスからこんにちは
halka
1
240
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.8k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
800
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Code Reviewing Like a Champion
maltzj
525
40k
Git: the NoSQL Database
bkeepers
PRO
431
66k
How STYLIGHT went responsive
nonsquared
100
5.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Become a Pro
speakerdeck
PRO
29
5.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Transcript
0 Snowflake初心者が Snowparkで実践したこと 2023/01/26 データエンジニア部1G 立石 真悟
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 自己紹介 2022年7月以前 「データエンジニア見習い」に分類される職歴(なぜかGCPが多かった)
2022年8月1日 DATUM STUDIO入社 2022年9月以降 AWS基盤機械学習バッチの保守案件 皆様に訴えたいこと Snowflakeは知らなかったし、案件でも触ったことがない。 1
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 発表概要 ゴール:Snowflakeを知らない人がPython用Snowparkを使った発表をするまでの奮闘を描く 2
snowflake Scala Java Python 対象: Snowflakeを知らない、使ったことのない方
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 動作環境 3 ※m1macではminiconda環境でx86用の環境を作る工程があります。が、限定的なので割愛します。
▪マシンスペック MacBook Air (M1, 2020) チップ Apple M1 macOS Ventura 13.1 ▪ライブラリのバージョン(miniconda環境) python 3.8.15 conda 22.11.1 snowflake-snowpark-python 1.0.0 streamlit 1.16.0
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 Snowflakeに入門0 4 DATUM
STUDIOってSnowflakeに力入れてるのかー。よ〜し、やってみっか。
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 Snowflakeに入門1 会社でsandboxのアカウントを持っている →ユーザーを作成してもらい、サインイン。。。したのはよいけれど。。。。。。
5 ワークシート? ウェアハウス? ステージ? アカウント?
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 Snowflakeに入門2 😭 うむ、わからん。(BigQueryと違うやん)
6
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 Snowflakeに入門3 Getting Started
with Snowflake - zero to snowflakeを実践(CITI_BIKE) https://quickstarts.snowflake.com/guide/getting_started_with_snowflake/index.html 7
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 Snowflakeに入門4 😟 ↑(ご想像にお任せします。)
あーそーゆーことね (以下略) 8
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 Snowparkに挑戦1 では、実際にSnowParkを触ってみることにした。 認証情報(ここではcredential.jsonに書く内容)…あれ?
9
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 Snowparkに挑戦2 なにを書けばええねん? accountが、、、わからない。。。
10
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 Snowparkに挑戦3 調べると2通りあるようだ。(画面では左下を見れば良いらしい) ・形式1:組織内のアカウント名
[組織名]-[アカウント名] ※ハイフンで繋ぐ(例:ABCDEFG-PQRSTUV) ・形式2:リージョン内のアカウントロケーター [アカウントロケーター].[地域名].[クラウドプラットフォーム] ※ドットでつなぐ(例:xy12345.us-east-2.aws) 11
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 Snowparkに挑戦4 セッション作成(=ログイン)って別にSnowparkじゃなくてもよくない? すでに、コネクタがあるのになぜだろう?
GUI SnowSQL(CUI) Connector Snowpark snowflake 12
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 (怒られそうですが。) データ処理をsnowflakeのサーバー側でやってくれるところがSnowparkの強みなんじゃないかと思 えてきた。
クライアント (パイプライン) Snowparkに挑戦5 13 サーバー Snowflake Connector Snowpark UDFs処理 処理 SQLステートメント文字列
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 Snowparkに挑戦6 簡単なSQLで理解しようとする「SELECT current_version()」
コネクタはカーソルからデータ取得して、DataFrameに詰めなければならないのに対して、 Snowpark経由は、SQLの結果をDataFrameとして取得できる点で違うのでは??? ←コネクタ ↓Snowpark 14
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 休憩 何はともあれ、Snowpark経由でSnowflakeに繋ぐことができた。 こんなところだけで、スライドの6割が終わってしまった。
せめて、もうちょっと効果的なもので動かしたい。 しかし、いい例が思いつかない。。。 またもやGetting Started系に頼るしかない。 15
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 他のデモに挑戦1 Snowflakeのチュートリアルが多く含まれている。 https://quickstarts.snowflake.com/
→今回は、赤丸の画像認識アプリを部分的に試す。(先週時点のキャプチャなので、内容が変わっ ている可能性あり) 16
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 他のデモに挑戦2 githubでは「sfguide-snowpark-pytorch-streamlit-openai-image-rec」というリポジトリに登録され ている。(1/17確認時点)
17
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 他のデモに挑戦3 18 Snowflake
stage(@dash_files) PyTorch Snowflake側でanacondaが使える(自社のsandbox にはその設定が有効化されてたと思う)ので、この PyTorchを使うことになる。 他の準備として • 画像管理用のテーブル • ファイル格納用ステージ を作成しておく
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 他のデモに挑戦4 ノートブックを実行し、セッションを作成後、以下の通りUDFをセットする。 MobileNetV3を内部ステージにputする。
putしたファイルをインポートする SnowflakeのAnacondaチャンネルからパッケージを取得する。 19
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 他のデモに挑戦5 UDFとして登録する たしかに関数にアノテーションのとおり登録されている。
20 そうやって関数を渡すのか。。
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 他のデモに挑戦6 画面はファイルアップロードだけですが、 これはStreamlitのコードでは以下でUDFを呼び出している。
21
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 他のデモに挑戦7 DatumStudioホームページにある画像をお借りする。 22
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 他のデモに挑戦8 前のページの画像はhome theaterと分析された。
23
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 まとめと課題 今回取り組んだこと Snowflakeの概念を学んだ。
Snowparkを使って、簡単なアプリを動かした。 課題 オリジナリティ0なので、実データを使った例を作らないと。。。 24
自己紹介 発表概要 動作環境 Snowflakeに入門 Snowparkに挑戦 他のデモに挑戦 まとめと課題 おわり 25