SnowflakeはじめにRoundaでインターンをしている村田と申します。Snowflakeにピックアップして記事を記載します。Streamlitは、動的な描画をブラウザ上に簡単に作成できるツールです。他の描画ツールよりも作法が簡単になっていて、数行のコードでデータを可視化し、動的な描画を作成できるなど、扱いやすくなっています。本記事ではStreamlitの機能を、世界の太陽光発電所の位置と発電容量を可視化する事例とあわせて紹介します。描画の公開に際しては、作ったアプリケーションのデプロイが簡単にできるSnowflakeというデータウェアハウスサービスを用いています。データの準備まず、Snowflake上へのデータのアップロードからやっていきます。データを格納するためのデータベースであるテーブルにデータをロードします。ちなみに元のデータは下記のリンクから参照しています。含まれていますこのデータをsnowflakeのワークシート上で読み込むことで、当該データをもとにしたアプリケーションの公開が簡単にできるというイメージです。データのロードができたら、以下のコードをワークシート上で実行していきます。errors='coerce')地図上に可視化してみるここまでできたら、可視化のためのアプリケーションの設定をしていきましょう。地図を用いた可視化サイドバーによるフィルタリングフィルタリング結果を踏まえた分布の可視化フィルタリング結果を用いた要約統計量の算出を実装していきます。接続を閉じるsession.close()それぞれのオプションを追加するのに必要なコードは数行で済んでいますね。簡易なコードで実装できることがお分かりいただけると思います。作成したアプリは以下のようなイメージです。公式の情報snowflake公式文書を参照すると、下記の通り優れた点がわかります。cortexは、Mistral、Reka、Meta、Googleの大規模言語モデル(LLM)をホストし、設定不要でSQLやPythonからアクセス可能なプラットフォームのことです。cortexを使用することで、streamlitのUIでLLMを使用してデータに対する知見を得ることができます。これを利用して、複雑なデータ解析や予測モデルの構築に際して、その前処理などに必要な知見が簡単に得られます。今回のデータでいえば、例えばデータセットを基にして、次年度の太陽光発電量を予測するなどの分析をするイメージです。Snowflakeは、アプリケーションから直接Snowflakeデータにアクセスできる環境を提供できるので、データを外部に移動する必要がなく、安全かつ効率的にデータを扱うことができます​。snowflakeは、python、streamlit、snowflake-snowpark-pythonパッケージが事前にインストールされた環境を提供し、追加のパッケージも簡単にインストールできます。environment.ymlファイルを使って、必要なパッケージを指定するだけで、アプリケーション環境をカスタマイズすることもできます​。Travel機能は、過去のデータにアクセスできる機能です。これにより、データの変更履歴を追跡したり、誤って削除されたデータを復元したりすることができます。https://docs.snowflake.com/ja/user-guide/data-time-travelクローン機能クローン機能を使用すると、テーブル、スキーマ、データベースのスナップショットを即座に作成できます。これにより、実際のデータを変更せずに、安全なテストなどが可能になります。このクローン機能は、変更差分でしかお金がかからないものになっています。クローン用のテーブルは作成されますが、元のテーブルが100行あっても変更が1行なら1行分しか課金が発生しないことになります。便利な点とまとめ簡単なインターフェース上記のように、streamlitはシンプルなコードで動的な描画ができるツールです。複雑な知識がなくても、データの視覚化や操作を行うことができました。リアルタイムの更新streamlitにはデータやパラメータの変更に応じてリアルタイムでアプリケーションを更新する機能もあります。豊富な機能Streamlitを使うことで、スライダー、テキスト入力、ボタンなど、様々な動的な機能をつけることができます。ビジュアライゼーション今回は実装しませんでしたが、StreamlitはMatplotlib、Altair、Plotly、Foliumなどのビジュアライゼーションライブラリと統合でき、豊富なグラフや地図を簡単に作成できます。今回の例では、Foliumを使用して地図を描画しました。おわりにStreamlitを使うことで、データの視覚化における動的な描画を行うのが非常に簡単になります。コードの簡易性により扱いやすくなっているうえ、可読性も向上するのでおすすめです。宣伝Snowflakeを用いたデータ基盤運用を検討していきたい方はもちろんのこと関連サービスの利用を検討している方や、LLMの利用検討を始めたが進め方に懸念がある方に対して弊社では支援やサポートを行っております。HPより気軽にご相談ください。ThemeWagon。