Snowflake Python Demos APIยถ
Snowflake Python ๋ฐ๋ชจ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(snowflake.demos
)๋ Snowflake Notebooks ์ ๋ํ ๋ฐ๋ชจ๋ฅผ ๋น ๋ฅด๊ฒ ์ค์บํด๋ฉํ์ฌ Snowflake Notebooks ๋ฅผ ๊ฐํธํ๊ฒ ์์ํ ์ ์๋๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์คํค๋ง, ์ญํ , ๊ถํ, ๋ฐ์ดํฐ ์ธํธ ์ก์ธ์ค ๊ตฌ์ฑ๊ณผ ๊ฐ์ ํ๊ฒฝ ์ค์ ์์
์ ์๋ํํ์ฌ ๋์์ค๋๋ค.
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
Snowflake ํ๊ฒฝ์์ Snowflake Notebooks ๋ฐ๋ชจ๋ฅผ ๋ก๋ฉํ๊ณ ์ค์ ํฉ๋๋ค.
๋ํํ ๋ ธํธ๋ถ์ ๋จ๊ณ๋ณ๋ก ์ดํด๋ณด๋ฉฐ ์ง์ ์ฒดํํด ๋ณด์ญ์์ค.
์์ ์ด ๋๋๋ฉด ๋ฆฌ์์ค๋ฅผ ์ฝ๊ฒ ๋ถ๋ฆฌํ์ญ์์ค.
์ ์ ์กฐ๊ฑดยถ
Snowflake Demos API ๋ฅผ ์์ํ๊ธฐ ์ ์ ๋ค์ ๋จ๊ณ๋ฅผ ์๋ฃํ์ญ์์ค.
์ง์๋๋ Python ๋ฒ์ ์ค ํ๋๋ฅผ ์ค์นํ๋์ง ํ์ธํฉ๋๋ค.
3.9
3.10
3.11
3.12
Snowflake Demos ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์นํ๊ธฐยถ
Snowflake Demos ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ์ฌ conda ๋๋ ๊ฐ์ ํ๊ฒฝ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์ ํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ญ์์ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๋ ค๋ฉด ๋ค์
pip install
๋ช ๋ น์ ์คํํฉ๋๋ค.pip install snowflake.demos
๊ธฐ๋ณธ Snowflake ์ฐ๊ฒฐ ์ค์ ํ๊ธฐยถ
Snowflake Demos API ๋ Snowflake Python Connector ์ ๋ํ ๊ธฐ๋ณธ ์ฐ๊ฒฐ์ ์ฌ์ฉํฉ๋๋ค. ์ด ์ฐ๊ฒฐ์ ๊ตฌ์ฑํ๋ ค๋ฉด ๊ธฐ๋ณธ ์ฐ๊ฒฐ ์ค์ ํ๊ธฐ ์ ์ง์นจ์ ๋ฐ๋ฅด์ญ์์ค.
์๋ฅผ ๋ค์ด ๋ช
๋ช
๋ ์ฐ๊ฒฐ์ Snowflake config.toml
ํ์ผ์์ ๊ธฐ๋ณธ ์ฐ๊ฒฐ๋ก ์ง์ ํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด config.toml
ํ์ผ์ ๊ธฐ๋ณธ ์ฐ๊ฒฐ ์ด๋ฆ์ ์ถ๊ฐํฉ๋๋ค.
default_connection_name = '<connection_name>'
TOML ๊ตฌ์ฑ ํ์ผ์์ ์ฐ๊ฒฐ ์ ์๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ connections.toml ํ์ผ์ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐํ๊ธฐ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
snowflake.demos
๊ฐ์ ธ์ค๊ธฐยถ
ํฐ๋ฏธ๋์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํ์ค Python REPL ๊ณผ ๊ฐ์ ๋ํํ ์ ธ์ ์ด๋ฉด ๋ฉ๋๋ค.
๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค(Python ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์).
python3
REPL ์ธ์ ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ด๋ จ ํจ์๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด ๋ค์ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
from snowflake.demos import help, load_demo, teardown
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ๋ชจ ๋ชฉ๋ก ํ์ยถ
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ์จ ํ help()
ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๋ฉํ ์ ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ๋ชจ ๋ชฉ๋ก์ ํ์ธํ๊ณ ํ์์ ์์ํ ์ ์์ต๋๋ค. ์ด ํจ์๋ ๋ค์ ์ด์ด ํฌํจ๋ ํ
์ด๋ธ์ ๋ฐํํฉ๋๋ค.
demo_name
: ๋ฐ๋ชจ ์ด๋ฆ์ ๋ํ๋ด๋ ๋์๋ก ๊ตฌ๋ถ๋ ๋ฌธ์์ด์ ๋๋ค.title
: ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฐ๋ชจ ์ด๋ฆ ์ ๋ชฉ์ ๋๋ค.num_steps
: ๋ฐ๋ชจ์ ๋จ๊ณ ์์ ๋๋ค.
ํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ๋ชจ ๋ชฉ๋กยถ
์ฐธ๊ณ
๋ค์ ๋ด์ฉ์ Snowflake์์ ์ง์๋์ง ์์ต๋๋ค. ๋ชจ๋ ์ฝ๋๋ โ์๋ ๊ทธ๋๋กโ ์ ๊ณต๋๋ฉฐ ๋ณด์ฆ๋์ง ์์ต๋๋ค.
Snowflake Demos API ๋ ํ์ฌ ๋ค์ ๋ฐ๋ชจ ๋ชฉ๋ก๊ณผ ํจ๊ป ์๋ํฉ๋๋ค.
demo_name |
title |
num_steps |
---|---|---|
|
Snowflake Notebooks๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ดํ ์์ธก |
2 |
|
Snowflake Cortex๋ฅผ ์ฌ์ฉํ ๊ณ ๊ฐ ๋ฆฌ๋ทฐ ๋ถ์ |
1 |
|
Snowflake Cortex์์ Anthropic ์์ํ๊ธฐ |
1 |
|
์ธ๋ถ ์๋ํฌ์ธํธ ์ก์ธ์ค |
1 |
|
๋ถํ ๋ชจ๋ธ ๋ฐ Snowflake Model Registry ์์ํ๊ธฐ |
1 |
|
Python API ๋ฅผ ์ฌ์ฉํ์ฌ Snowflake ์ค๋ธ์ ํธ ์์ฑํ๊ธฐ |
1 |
|
Snowflake Notebooks์ Python Worksheets์์ Snowpark ์์ํ๊ธฐ |
1 |
|
Snowflake ML ์์ํ๊ธฐ |
4 |
|
๊ณต๊ฐ JSON ์์งํ๊ธฐ |
1 |
|
Snowpark pandas ์๊ฐ |
1 |
|
Snowflake Notebooks๋ฅผ ์ฌ์ฉํ๋ Feature Store ์๊ฐ |
1 |
|
๋ด ์ฒซ Notebook ํ๋ก์ ํธ |
1 |
|
S3์์ CSV ๋ก๋ฉํ๊ธฐ |
1 |
|
์ฐธ์กฐ ์ ๋ฐ ๋ณ์ |
1 |
|
Snowflake Notebooks๋ก ์๊ฐํํ ๋ฐ์ดํฐ ์คํ ๋ฆฌ |
1 |
|
ํ์ผ ์์ ํ๊ธฐ |
1 |
๋ฐ๋ชจ๋ก ์์ ํ๊ธฐยถ
์ฌ์ ์๊ตฌ ์ฌํญ ์ ์๋ฃํ ํ ๋ค์ ์น์ ์ ์ค๋ช ๋ ๋๋ก ๋ฐ๋ชจ๋ก ์์ ํ๊ธฐ ์ํด Snowflake Demos API ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฐ๋ชจ ๋ก๋ฉ ๋ฐ ์ดํด๋ณด๊ธฐยถ
Snowflake์์ ํน์ ๋ฐ๋ชจ๋ฅผ ๋ก๋ํ๊ณ ์ฐ๊ด๋ ๋ฆฌ์์ค๋ฅผ ์ค์ ํ๋ ค๋ฉด
help()
์ถ๋ ฅ์์ ์ฐพ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ๋ชจ์demo_name
์ ์ธ์๋ก ์ง์ ํ์ฌload_demo()
๋ฅผ ํธ์ถํฉ๋๋ค.์:
load_demo('get-started-snowflake-ml')
ํ
๋ฐ๋ชจ์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ค๋ธ์ ํธ๋ก ์ ์ฅํ๋ ค๋ฉด
load_demo()
์ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์์ ํ ๋นํ์ญ์์ค.demo = load_demo('get-started-snowflake-ml')
๋ค๋จ๊ณ ๋ฐ๋ชจ(num_steps
> 1)๋ก ์์
ํ๋ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์์ ํ ๋นํด์ผ ํฉ๋๋ค. ๋ฐ๋ชจ์ ๋ค์ ๋
ธํธ๋ถ์ผ๋ก ์ด๋ํ๋ ค๋ฉด show_next()
๋๋ show(step=<number>)
์(๋ฅผ) ํธ์ถํ ๋ ์ด ์ฐธ์กฐ๊ฐ ํ์ํฉ๋๋ค.
์ด ์ฐธ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋์ค์ ๋ฐ๋ชจ๋ฅผ ๋น ๋ฅด๊ฒ ํด์ฒดํ ์๋ ์์ต๋๋ค.
์ด ํจ์๋ ๋ค์์ ์ํํฉ๋๋ค.
๋ฐ๋ชจ๋ฅผ ์ฒ์ ๋ก๋ฉํ๋ ๊ฒฝ์ฐ Snowflake์ ๋ํ ์ฐ๊ฒฐ์ ์์ฑํฉ๋๋ค.
ํ์ํ ๋ ธํธ๋ถ์ ๋ง๋ญ๋๋ค.
load_demo()
๋ฅผ ๋ณ์์ ํ ๋นํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ๋ชจ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ(1๋จ๊ณ)์ ๋ํด ๋ ธํธ๋ถ URL ์ ํ์ํฉ๋๋ค.๋ณ์์
load_demo()
๋ฅผ ํ ๋นํ ๊ฒฝ์ฐdemo.show()
๋ฅผ ํธ์ถํ์ฌ ์ฒซ ๋ฒ์งธ ๋ ธํธ๋ถ URL ์ ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
์ถ๋ ฅ์ ๋ค์๊ณผ ๋น์ทํ ํํ์ฌ์ผ ํฉ๋๋ค.
Connecting to Snowflake...โ
Using ACCOUNTADMIN role...โ
Creating Database SNOWFLAKE_DEMO_DB...โ
Creating Schema SNOWFLAKE_DEMO_SCHEMA...โ
Creating Warehouse SNOWFLAKE_DEMO_WH...โ
Creating Stage SNOWFLAKE_DEMO_STAGE...โ
Uploading files to stage SNOWFLAKE_DEMO_STAGE/get-started-snowflake-ml and creating notebooks...
Creating notebook get_started_snowflake_ml_start_here...โ
Creating notebook get_started_snowflake_ml_sf_nb_snowflake_ml_feature_transformations...โ
Creating notebook get_started_snowflake_ml_sf_nb_snowflake_ml_model_training_inference...โ
Creating notebook get_started_snowflake_ml_sf_nb_snowpark_ml_adv_mlops...โ
Running setup for this demo...โ
์ฐธ๊ณ
์ธ์๋ ๋ ธํธ๋ถ URL์ ์๋ ค์ง ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด URL ์ด ๋ฐ๋ก ์ด๋ฆฌ์ง ์๋๋ค๋ฉด, ๋ณต์ฌํ์ฌ ์ ๋ธ๋ผ์ฐ์ ํญ์ ๋ถ์ฌ๋ฃ๊ฑฐ๋ Snowsight ์ Notebooks ํญ์์ ๋ ธํธ๋ถ์ ์๋์ผ๋ก ์ก์ธ์คํ ์ ์์ต๋๋ค.
๋ฐ๋ชจ URL ๋ณด๊ธฐยถ
show()
ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ๋ชจ์ ํน์ ๋จ๊ณ๋ก URL ์ ํ์ธํ ์ ์์ต๋๋ค.
ํ์ฌ ๋จ๊ณ์ URL ์ ํ์ธํ๋ ค๋ฉด ๋จผ์
load_demo()
์ ๊ฒฐ๊ณผ๋ฅผdemo
์ ๊ฐ์ ๋ณ์์ ํ ๋นํ๊ณ ์ธ์ ์์ดshow()
๋ฅผ ํธ์ถํฉ๋๋ค.demo.show()
์ถ๋ ฅ์ ๋ค์๊ณผ ์ ์ฌํ ํํ์ฌ์ผ ํฉ๋๋ค.
Showing step 1. Please copy and paste this url in your web browser to open the notebook: https://app.snowflake.com/myorg/myaccount/#/notebooks/SNOWFLAKE_DEMO_DB.SNOWFLAKE_DEMO_SCHEMA.GET_STARTED_SNOWFLAKE_ML_START_HERE
๋ฐ๋ชจ์ ํน์ ๋จ๊ณ์ ๋ํ ๋ ธํธ๋ถ URL ์ ๊ฐ์ ธ์ค๋ ค๋ฉด ์ง์ ๋ ๋จ๊ณ ๋ฒํธ์ ํจ๊ป
step
์ธ์๋ฅผshow()
์ ์ ๋ฌํฉ๋๋ค.demo.show(step=1)
๋ค๋จ๊ณ ๋ฐ๋ชจ์ ๋ค์ ๋จ๊ณ๋ฅผ ์ํด ๋ ธํธ๋ถ URL ์ ๊ฐ์ ธ์ค๋ ค๋ฉด
show_next()
ํจ์๋ฅผ ์ฌ์ฉํ์ญ์์ค.demo.show_next()
๋ฐ๋ชจ ๋ฐ ํด๋น ๋ฆฌ์์ค ์ญ์ ํ๊ธฐยถ
์ค์ ํ ๋ฐ๋ชจ ํ์์ด ๋๋๋ฉด ์์ฑ๋ ๋ชจ๋ ๋ฆฌ์์ค, ๋ฐ์ดํฐ ์ธํธ ๋ฐ ๋ ธํธ๋ถ์ ์ ๋ฆฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋จ์ผ ๋ฐ๋ชจ ๋ฐ ๊ด๋ จ ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋จผ์
load_demo()
์ ๊ฒฐ๊ณผ๋ฅผdemo
์ ๊ฐ์ ๋ณ์์ ํ ๋นํ๊ณteardown()
์ ํธ์ถํฉ๋๋ค.demo.teardown()
์ค์ ๋ ๋ชจ๋ ๋ฐ๋ชจ ๋ฐ ๊ด๋ จ ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ๋ ค๋ฉด
teardown()
์ ์ต์์ ํจ์๋ก ํธ์ถํ์ญ์์ค.teardown()