製品 & テクノロジー

1TB以上のエンタープライズデータに対してSnowflakeでpandasを直接実行

Snowflake Snowpark icon with photo of two people using a computer, on a blue and black background.

Pythonエコシステムで最も広く使用されているライブラリの1つであるpandasは、開発者がデータサイエンス、データエンジニアリング、機械学習にまたがってデータを分析、ロード、変換するのに役立ちます。StackOverflow 2024開発者調査によると、pandas APIの柔軟性と使いやすさによって人気が急速に高まり、5人に1人がpandasを使用しています。

しかし、pandasは当初インメモリデータ構造として設計されており、大規模なデータセットを処理する能力が制限されていました。多くの場合、開発者はマシンに収まる量のデータしか扱えません。このような規模の課題は、開発速度の低下や、大量のデータを運用する必要があるデータチームにとっての障害となります。その結果、これまでデータチームはpandasコードを他のフレームワークに書き換えて大規模データを操作せざるを得ませんでした 。

本日、pandas on Snowflakeの一般提供を発表します。これにより、Snowflake内でのスケーラブルな分散型のpandas操作が可能になるため、Python開発者にSnowflake AIデータクラウドのメリットをもたらします。

Bar chart showing the performance results of running pandas on Snowflake, resulting in up to 30x faster performance.

当社のベンチマーク調査によると、標準pandasライブラリのメモリが100GB未満でも不足しているデータセットでは、Snowflakeのpandasは1テラバイトを超えるデータにまで拡張します。代表的なワークロードの平均では、Snowflake上のpandasはメモリ上のVanilla pandasよりも1GBスケールで約6倍、10GBスケールで約30倍高速に動作します。 

使用に必要な微調整や書き換えが最小限

Snowflakeにpandasが導入され、ユーザーは使い慣れたpandas APIとセマンティクスで作業できるようになりました。この機能により、開発者はSnowflakeのデータに対してpandasを直接実行でき、クエリはSQLに変換されてSnowflakeでネイティブに実行されます。 

pandas on Snowflakeは、Snowpark Pythonライブラリの一部であり、Snowflakeプラットフォーム内でのPythonコードのスケーラブルなデータ処理を可能にします。開発者は、インポートステートメントを数行変更するだけで、Snowflakeのスケーラビリティとセキュリティのメリットを生かし、これまで使い慣れたものと同じpandasエクスペリエンスを得られます。そのため、Snowflakeへの移行が容易になり、データチームはpandasパイプラインを他のビッグデータフレームワークに書き換えたり、高コストの大容量メモリマシンをプロビジョニングしたりする時間とコストを回避できます 。

Snowflake内の安全なアクセスにより、ローカルマシンの機密データリスクを排除

pandasのメモリ内設計は、特に企業データをpandasで処理するためにノートパソコンに取り込むことによるセキュリティとガバナンスの懸念など、組織に問題をもたらしました。Snowpark Pythonライブラリの一部として、コンピューティングはSnowflakeのセキュアで管理された境界内で直接Snowflakeにプッシュダウンされます。 

Modinオープンソースプロジェクト上に構築

Snowflakeでは、オープンソースのツールや標準とSnowflake AIデータクラウドの強力な機能を統合することにより、開発者とのミーティングに取り組んでいます。SnowflakeのpandasはModinオープンソースプロジェクト上に構築されています。Modinは、Snowflakeが2023年10月に買収し、オープンソースプロジェクトファミリーに加わった分散型のpandasライブラリです。Modinは、数十万人のデータサイエンティストと開発者がpandasワークフローをシームレスに拡張するために使用しています。Snowflakeは、オープンソースプロジェクトとその活発なコミュニティの両方に積極的に貢献し、サポートしています。

A technology stack diagram of the Snowflake Python Developer Ecosystem, including ingestion, transformation, delivery processes on the dev experience and devops elements.

pandas on Snowflakeは、Snowpark PythonSnowflake Python API、Streamlit in SnowflakeSnowflake Notebookなど、SnowflakeのPython開発者エコシステムに不可欠な要素です。これらの最新の製品イノベーションは、Snowflake AIデータクラウドの力をPython開発者にもたらし、データチームがエンタープライズデータパイプラインとアプリケーションを効率的に拡張できるようにします。

詳細については、Snowflakeドキュメントをご覧ください。また、Snowflake Notebookでこのクイックスタートをお試しください  

 

Data Pipeline icon of a pipe with streaming arrows on a blue background with code images

The Essential Guide to Data Engineering

Learn how you can build a modern data engineering practice and create efficient data pipelines for your organization.
記事をシェアする

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

30日間の無料トライアルを開始する

Snowflakeの30日間無料トライアルで、他のソリューションに内在する複雑さ、コスト、制約の課題を解決するデータクラウドを体験できます。