Streamlit in Snowflake(SiS)がPublic Preview(PuPr)になりました。
SnowflakeのWeb UIであるSnowsight上でStreamlitを使ったアプリの開発と実行が可能になります!
使い方
とにかく試してみましょう!使い方は以下の記事が詳しいです。
参考:[新機能]SnowflakeのSnowsight上でStreamlitのアプリ開発と実行ができるようになりました #SnowflakeDB
公式ドキュメント
公式ドキュメントはSnowflake Documentationで公開されています。
参考:About Streamlit in Snowflake
制限事項
Public Previewなこともあって色々な制限事項があります。
st.chat_message
やst.chat_input
が存在しないあたり、ベースになっているのが最新のバージョンではないのかな?という感じですね。
参考:Limitations and unsupported features during preview
課金について
Streamlitでアプリが立ち上がっている間はウェアハウスが立ち上がったままになるので、どんどんクレジットが消費されます。
正確にはWebソケットコネクションが生きている間はウェアハウスが立ち上がったままになり、通信がないまま15分経過すると自動的に落ちるようです。
なお、試した感じでは単純に画面を閉じるだけでも落ちてくれました。
This warehouse remains active while the app’s web-socket connection is active.
The web-socket connection expires approximately 15 minutes after its last use.
パッケージの導入
結論
ソースコードタブの上部の「パッケージ」で必要なパッケージを指定するだけ。
パッケージを導入してみよう
とりあえず何も考えずにパッケージをインポートして実行してみましょう。
sympy.sieve
は素数を扱うパッケージです。
# とりあえずインポートしてみる
import pandas as pd
from sympy import sieve
col1 = pd.Series([i for i in sieve.primerange(2, 100)], name='prime')
col2 = pd.Series([i + 1 for i in range(len(col1))], name='id')
df = pd.concat([col2, col1], axis=1)
st.dataframe(df)
# 処理が終わったら雪を降らせる!おめでとう!
st.snow()
パッケージ(Module)がないよって怒られました。
ソースコードタブの上部の「パッケージ」を確認すると、最小限のものしかありませんね。
PandasはSnowparkかStreamlitが参照しているので何もしなくても使えるようです。
パッケージを導入するときはこの画面で検索して選択するだけです。
「インストール済みのパッケージ」に無事に追加されました。
あらためて実行してみましょう!
やったね!