Snowflake Summit 2024で発表されたアプリケーション機能群のアップデートポイント


<!--
<font color="red">*Private Preview*</font>
　<font color="orange">*Public Preview*</font>
　<font color="blue">*General availability*</font>
-->

# はじめに
本記事は、Snowflake Data Cloud Summit 2024 の Platform Keynote で発表されたデータアプリケーション機能に関連するアップデート情報を紹介します！セッションとしては、後半の後半のあたりに該当する部分です。[本キーノートの配信を視聴することもできる](https://reg.summit.snowflake.com/flow/snowflake/summit24/digitalreg/page/main/?utm_cta=website-summit-homepage-featured-keynote-livestream&_ga=2.147178871.1702152211.1717203291-817365210.1672414315)ので、気になる方はぜひ御覧ください！


本記事では、下記の項目で解説します。
- [Snowpark for Python](https://qiita.com/toru_hiyama/items/c8be2973a6dfef0837aa#snowpark-for-python)
- [Snowflake Notebooks](https://qiita.com/toru_hiyama/items/c8be2973a6dfef0837aa#snowflake-notebooks)
- [Snowflake Cortex](https://qiita.com/toru_hiyama/items/c8be2973a6dfef0837aa#snowflake-cortex)
- [Snowpark Container Services](https://qiita.com/toru_hiyama/items/c8be2973a6dfef0837aa#snowpark-container-servicesspcs)
- [Hybrid Table](https://qiita.com/toru_hiyama/items/c8be2973a6dfef0837aa#hybrid-tableunistore)
- [Dev/MLOps](https://qiita.com/toru_hiyama/items/c8be2973a6dfef0837aa#devopsmlops)

また先日、同様のカテゴリで[各機能の概要を解説した記事](https://qiita.com/toru_hiyama/items/190957d3af1514e640d4)も投稿しています。ぜひあわせて御覧ください！

# 概要
Platform Keynote では、様々なアップデートの発表がありました！特に、アプリ・LLM 系の機能に絞ってそのアップデートを紹介します。
![IMG_0147.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/2851cf8d-bbc2-36e7-8c9e-53e0bec1ae3b.jpeg)


# Snowpark for Python
## Pandas API　<font color="orange">*Public Preview*</font>
Pandas API が！！！遂に来ます！！！🎉🎉　Snowpark DataFrame の Pandas 版、といった所で、Pandas のメソッド API で書いたクエリがそのまま Snowflake 側で実行されてしまう機能です！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/dfda2c77-4547-8b7b-55b1-4c9f3e8233af.png)

・・・実は、しれっと事前に検証していました。ローカルでPandas形式のデータフレーム処理を実行すると、Snowflake側でSQLクエリが実行されます。もちろん、データはSnowflake側にあるままで、処理もSnowflake側にPush-downされていますよ！

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">というわけで、Modin試してみた🚀️<br>個人的にはもうSpark形式に慣れてしまっているんだけど、Pandas形式でSnowflakeのテーブルクエリできるのは革命的じゃないだろうか🔥 <a href="https://t.co/jBS3oWxyU3">https://t.co/jBS3oWxyU3</a> <a href="https://t.co/MJDhGv8cai">pic.twitter.com/MJDhGv8cai</a></p>&mdash; Toru Hiyama (@toru_data) <a href="https://twitter.com/toru_data/status/1794259666119294988?ref_src=twsrc%5Etfw">May 25, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/45d36472-36ad-d06d-c83f-2041f98abdd5.png)


このように、何の変哲もない Pandas API を実行すると、Snowflake 側でSQLが実行されるという機能です。


ライブラリは、`snowflake-snowpark-python[modin]` です。

Snowpark DataFrameは、Spark DataFrame形式でAPIが設計されています。これは、世界的に見るとSpark DataFrameで大規模分散処理を行っている企業が多いからだと思います。

これはこれで素晴らしく私は好きなのですが、そうは言ってもSpark DataFrameを知らない人にとっては学習コストは非常に高いです。そのため、Pandasに慣れている人たちがそのままPandasのAPIでSnowflakeのデータを加工できることは色んな意味でスケーラブルです。


後述のSnowflake Notebooksとあわせて、一気にSnowflakeでのデータサイエンスを拡張させてくれる機能です！

<!--
# Streamlit in Snowflake（SiS）
## Privatelink対応
このSiSと次章で紹介するNotebooks機能について、Privatelinkに対応することも発表されました🎉　
★写真

何気にこれがノックアウトファクターになるケースがなくもないだろうと思っていたので非常に安心する発表でした。
-->


# Snowflake Notebooks　<font color="orange">*Public Preview*</font>
サミット前から少し話題になっていましたが、Snowflake Notebooks も発表されました！<font color="orange">*Public Preview*</font> になった形です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/33dcbc15-25f3-8d18-cd97-566597d206f0.png)


見た目はこのような感じで、まず非常に使いやすいというところがポイントになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/80028069-bc18-45cb-4dde-80e7d469f70c.png)

PythonやSQLによる分析をノートブック形式に行うことができる機能です。非常に使いやすいUIで、洗練されています。ショートカットキーも豊富ですし、SQLセルの結果をPythonから参照できるなど驚きの機能もあります。

コストの部分もだいぶ最適化されています。どうしてもノートブックの起動（セルの実行とセッションの維持）にウェアハウスコストは掛かってしまうのですが、停止後もコーディングや描画した結果の確認は行える部分が気に入っています。

## Notebooks on Container　<font color="red">*Private Preview*</font>
そして、なんとNotebooks がContainer 上で動作する機能も発表されました！このように、コンピュートウェアハウスだけでなく、コンピュートプールでCPUやGPUを指定することができるようです！
![IMG_0099.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/346b470f-5675-e79d-bd5e-93e0dcd9e38b.jpeg)
詳細は不明ですが、NotebooksからシームレスにGPUが使えるようになったり、より小さなCPUでコスパよくノートブックを使うことができるようになるのでしょうか！？👀

# Cortex LLM

## Cortex Fine-Tuning　<font color="orange">*Public Preview*</font>
これは正直まさか！の機能でした。多くの種類のオープンLLMモデルを推論用途で使えるようにしてくれているだけでも相当ありがたいのに、**Fine Tuningまで実行させてくれるとは。
しかも、GUIでFine Tuningの設定・実行が行えるようです。**
![IMG_0118.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/8fa84733-ab37-ea19-a1f6-97ad96a5012b.jpeg)
![IMG_0121.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/83ceabf2-8966-8f8c-3ddb-2ffc451be337.jpeg)



ますますデータをSnowflakeに溜めて、Snowflake上でエンドツーエンドに活用する流れが進みそうです！

## Cortex Search　<font color="red">*Private Preview*</font>
こちらも驚きの機能で、Cortex Search です！これは、主にRAG用途で使うもので、**あらかじめ指定した場所にあるテキストを自動的にベクトル化しておいてくれ**、LLMに対して対話を投げかけたときにその質問に近い内容のテキストをもとに回答してくれるようになる機能です。（便利すぎるぞ）
![IMG_0118.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/1ca19882-9522-7d38-f682-3f5dc3ec3bfa.jpeg)
![IMG_0121.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/5668eea2-a693-2e3a-aaa2-c796932a21a1.jpeg)

デモンストレーションでは簡単にCortex Searchを使えるということで、Snowflake初心者の方が前に立ってRAGチャットボットを構築されていました！
![IMG_0137.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/9b14f080-7496-258b-4a25-3183ddfbc0cc.jpeg)


# Snowpark Container Services（SPCS）
Snowpark Container Services が遂に、<font color="blue">*General availability*</font> になります🎉
## SPCS の Native Apps 対応　<font color="orange">*Public Preview*</font>
Snowpark Container Servicesを、Native Appsに含められるようになります！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/0e85e1b2-0d05-3bbe-9340-5a992232a498.png)

これにより、一度構築したコンテナサービスを、様々なアカウントに対して配布できるようになります。自分が構築したコンテナサービスを配布するもよし、様々な企業が配布するコンテナサービスを使ってもよしです。

すでに、各SaaS企業がこのSPCS on Native Apps に対応を始めているようで、dbtやsigmaなど、楽しみな発表が多々ありました！
![IMG_0073.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/7b6b3490-9281-2434-4f49-c8afbeec1763.jpeg)


## SPCS ジョブ　<font color="orange">*Public Preview*</font>
また、SPCSには主にサービスとジョブという実行形態があるのですが、これまでジョブ機能はPrivate Previewの状態でした。それが、今後はPublic Previewになるようです！短期的に実行したいスクリプトなどが一つのコマンドで実行できるようになります！私は、Private Previewをアカウントに有効化いただき大量に活用していました。


# Hybrid Table（Unistore）
Hybrid Table については、新機能というよりはすでに <font color="orange">*Public Preview*</font> のため、Hybrid Table を使ったデモがありました。
![IMG_0088.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/fcd2ac0d-f713-b865-9cf4-a177c48b5749.jpeg)

このデモでは、データフレームの選択したレコードを変更した際のレスポンスが非常に早いことを示していました。実際、変更の実行から反映まで、コンマ数秒で書き換わったことを確認できました！


# DevOps／MLOps
以前から <font color="orange">*Public Preview*</font> ではありましたが、Git Integration や Snowflake CLI 、Model Registry などが <font color="orange">*Public Preview*</font> や、 <font color="blue">*General availability*</font> になってくるようです！本格的に、DevOps・MLOps を Snowflake で運用することが可能になっていきますね！🔄
![IMG_0092.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/000a03c0-ee8a-2a33-f5c3-41dddd71ea5d.jpeg)
![IMG_0094.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/d246fc13-cf42-76b3-291f-3f0b15d05344.jpeg)

# おわりに
Snowflakeのアプリケーション機能について、アップデート内容を紹介いたしました。当初はバラバラに思えたSnowpark for Python、Streamlit、Snowpark Container、Hybrid Tableなどの機能も、それぞれが補完しあって統合された一つのデータアプリケーションプラットフォームとして確立されてきていることを実感できました。

また1年をかけてこれらの便利でワクワクするような機能が搭載されていき、さらに今ある機能も洗練されていくと思うと、楽しみであることもさながら、キャッチアップもますます頑張っていかないとなりません！🚀


# おまけ
Snowflakeに、、、DARK MODEが来るぞー！！！🧑‍💻
![IMG_0149.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540224/3e4bc9de-b88c-a126-2c26-6d52bb66f40b.jpeg)



## 仲間募集

NTTデータ テクノロジーコンサルティング事業本部 では、以下の職種を募集しています。

<details><summary>1. クラウド技術を活用したデータ分析プラットフォームの開発・構築(ITアーキテクト/クラウドエンジニア)</summary>

クラウド／プラットフォーム技術の知見に基づき、DWH、BI、ETL領域におけるソリューション開発を推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/cloud_engineer

</details>

<details><summary>2. データサイエンス領域（データサイエンティスト／データアナリスト）</summary>

データ活用／情報処理／AI／BI／統計学などの情報科学を活用し、よりデータサイエンスの観点から、データ分析プロジェクトのリーダーとしてお客様のDX／デジタルサクセスを推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/datascientist

</details>

<details><summary>3.お客様のAI活用の成功を推進するAIサクセスマネージャー</summary>

DataRobotをはじめとしたAIソリューションやサービスを使って、
お客様のAIプロジェクトを成功させ、ビジネス価値を創出するための活動を実施し、
お客様内でのAI活用を拡大、NTTデータが提供するAIソリューションの利用継続を推進していただく人材を募集しています。
https://nttdata.jposting.net/u/job.phtml?job_code=804

</details>

<details><summary>4.DX／デジタルサクセスを推進するデータサイエンティスト《管理職/管理職候補》</summary>
データ分析プロジェクトのリーダとして、正確な課題の把握、適切な評価指標の設定、分析計画策定や適切な分析手法や技術の評価・選定といったデータ活用の具現化、高度化を行い分析結果の見える化・お客様の納得感醸成を行うことで、ビジネス成果・価値を出すアクションへとつなげることができるデータサイエンティスト人材を募集しています。

https://nttdata.jposting.net/u/job.phtml?job_code=898

</details>


## ソリューション紹介

<details><summary> Trusted Data Foundationについて</summary><div>

～データ資産を分析活用するための環境をオールインワンで提供するソリューション～
https://enterprise-aiiot.nttdata.com/tdf/
最新のクラウド技術を採用して弊社が独自に設計したリファレンスアーキテクチャ（Datalake+DWH+AI/BI）を顧客要件に合わせてカスタマイズして提供します。
可視化、機械学習、DeepLearningなどデータ資産を分析活用するための環境がオールインワンで用意されており、これまでとは別次元の量と質のデータを用いてアジリティ高くDX推進を実現できます。

</div></details>


<details><summary> TDFⓇ-AM（Trusted Data Foundation - Analytics Managed Service）について</summary><div>

～データ活用基盤の段階的な拡張支援（Quick Start) と保守運用のマネジメント（Analytics Managed）をご提供することでお客様のDXを成功に導く、データ活用プラットフォームサービス～
https://enterprise-aiiot.nttdata.com/service/tdf/tdf_am
TDFⓇ-AMは、データ活用をQuickに始めることができ、データ活用の成熟度に応じて段階的に環境を拡張します。プラットフォームの保守運用はNTTデータが一括で実施し、お客様は成果創出に専念することが可能です。また、日々最新のテクノロジーをキャッチアップし、常に活用しやすい環境を提供します。なお、ご要望に応じて上流のコンサルティングフェーズからAI/BIなどのデータ活用支援に至るまで、End to Endで課題解決に向けて伴走することも可能です。

</div></details>


<details><summary>NTTデータとTableauについて </summary><div>

ビジュアル分析プラットフォームのTableauと2014年にパートナー契約を締結し、自社の経営ダッシュボード基盤への採用や独自のコンピテンシーセンターの設置などの取り組みを進めてきました。さらに2019年度にはSalesforceとワンストップでのサービスを提供開始するなど、積極的にビジネスを展開しています。

これまでPartner of the Year, Japanを4年連続で受賞しており、2021年にはアジア太平洋地域で最もビジネスに貢献したパートナーとして表彰されました。
また、2020年度からは、Tableauを活用したデータ活用促進のコンサルティングや導入サービスの他、AI活用やデータマネジメント整備など、お客さまの企業全体のデータ活用民主化を成功させるためのノウハウ・方法論を体系化した「デジタルサクセス」プログラムを提供開始しています。
https://enterprise-aiiot.nttdata.com/service/tableau

</div></details>


<details><summary>NTTデータとAlteryxについて </summary><div>
Alteryxは、業務ユーザーからIT部門まで誰でも使えるセルフサービス分析プラットフォームです。

Alteryx導入の豊富な実績を持つNTTデータは、最高位にあたるAlteryx Premiumパートナーとしてお客さまをご支援します。

導入時のプロフェッショナル支援など独自メニューを整備し、特定の業種によらない多くのお客さまに、Alteryxを活用したサービスの強化・拡充を提供します。

https://enterprise-aiiot.nttdata.com/service/alteryx

</div></details>

<details><summary>NTTデータとDataRobotについて </summary><div>
DataRobotは、包括的なAIライフサイクルプラットフォームです。

NTTデータはDataRobot社と戦略的資本業務提携を行い、経験豊富なデータサイエンティストがAI・データ活用を起点にお客様のビジネスにおける価値創出をご支援します。

https://enterprise-aiiot.nttdata.com/service/datarobot

</div></details>

<details><summary> NTTデータとInformaticaについて</summary><div>

データ連携や処理方式を専門領域として10年以上取り組んできたプロ集団であるNTTデータは、データマネジメント領域でグローバルでの高い評価を得ているInformatica社とパートナーシップを結び、サービス強化を推進しています。
https://enterprise-aiiot.nttdata.com/service/informatica

</div></details>

<details><summary>NTTデータとSnowflakeについて </summary><div>
NTTデータでは、Snowflake Inc.とソリューションパートナー契約を締結し、クラウド・データプラットフォーム「Snowflake」の導入・構築、および活用支援を開始しています。

NTTデータではこれまでも、独自ノウハウに基づき、ビッグデータ・AIなど領域に係る市場競争力のあるさまざまなソリューションパートナーとともにエコシステムを形成し、お客さまのビジネス変革を導いてきました。
Snowflakeは、これら先端テクノロジーとのエコシステムの形成に強みがあり、NTTデータはこれらを組み合わせることでお客さまに最適なインテグレーションをご提供いたします。

https://enterprise-aiiot.nttdata.com/service/snowflake

</div></details>