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
250
DatumSt_Snowpark0126.pdf
tat
January 27, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
競技としてのKaggle、役に立つKaggle
yu4u
3
1.8k
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
2
480
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
5
530
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.4k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
16k
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
210
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
220
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
670
JAWS-UG Bedrock Claude Night
yamahiro
3
610
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
770
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
230
私が trocco を推す理由
__allllllllez__
1
250
Featured
See All Featured
Building Your Own Lightsaber
phodgson
99
5.7k
Embracing the Ebb and Flow
colly
80
4.1k
Navigating Team Friction
lara
178
13k
Happy Clients
brianwarren
92
6.4k
Into the Great Unknown - MozCon
thekraken
10
990
Music & Morning Musume
bryan
41
5.6k
Designing with Data
zakiwarfel
96
4.8k
Bash Introduction
62gerente
604
210k
Faster Mobile Websites
deanohume
299
30k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
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