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
Wasmのエコシステムを使った ツール作成方法
askua
0
160
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
6
3.4k
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
260
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
450
AgentCon Accra: Ctrl + Alt + Assist: AI Agents Edition
bethany
0
100
Findy Team+ QAチーム これからのチャレンジ!
findy_eventslides
0
120
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
130
Digitization部 紹介資料
sansan33
PRO
1
5.5k
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
270
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
2
640
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
310
ビズリーチ求職者検索におけるPLMとLLMの活用 / Search Engineering MEET UP_2-1
visional_engineering_and_design
1
120
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Cult of Friendly URLs
andyhume
79
6.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
35
6.1k
GraphQLとの向き合い方2022年版
quramy
49
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Automating Front-end Workflow
addyosmani
1371
200k
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