製品 & テクノロジー

Snowparkでの、UDFとストアドプロシージャを介したPyPIパッケージへのアクセス

Photo illustration of a man using a computer with the Snowpark  icon and PyPI in Snowpark label

注意:この記事は2025年4月に公開されました。現在利用可能な製品、特性、機能性を反映するように更新されています。

Snowparkを使用する開発者、データエンジニア、データサイエンティストにとっての最大の課題の一つは、必要なPythonパッケージへのアクセスと、ステージにアップロードされたパッケージの依存関係の管理でした。Snowpark PythonはすでにAnacondaパッケージとカスタムパッケージをサポートしていますが、Python Package Index(PyPI)の膨大なエコシステムには直接アクセスできなかったため、依存関係の管理や制限の回避に余分なステップが必要になっていました。

しかし、今日からは違います。Snowpark Pythonの開発をパワーアップする画期的なニュースがあります。私たちは、膨大なPython Package Index(PyPI)への直接アクセスのパブリックプレビューが開始されたことを発表します。これにより、ワークフローに革命がもたらされ、卓越した柔軟性が実現します。これからは待ち時間なしに、必要なPythonパッケージをSnowpark PythonのUDFとストアドプロシージャに直接統合できます。本当です。信頼性の高いSnowflake Anacondaチャネルも引き続き利用可能ですが、60万個以上のPythonパッケージをホストするPyPIエコシステム全体を自由に活用できるようになります。 

この新機能により、開発ワークフローが大幅に簡素化され、SnowflakeでのPythonアプリケーションの構築とスケーリングがかつてないほど容易になります。

仕組み

Snowflakeにはデフォルトのアーティファクトリポジトリがあり、ユーザーはPyPIパッケージを接続してSnowparkのUDFとストアドプロシージャ内にインストールできます。組み込みのPyPIリポジトリへのアクセスを付与し、UDFまたはプロシージャ内にレポジトリパッケージをインストールするだけです(プロセスの詳細についてはSnowflakeドキュメントを参照してください)。

Diagram showing how Artifact Repository allows Snowpark users to directly connect and install PyPI packages within UDFs and stored procedures.
Figure 1. The Artifact Repository allows Snowpark users to directly connect and install PyPI packages within UDFs and stored procedures.

“クラウドネイティブの位置情報プラットフォームをリードするCARTOは、EUの資金提供を受けるEMERALDSプロジェクトに協力し、軌跡データのための高度なモビリティ分析をクラウドにもたらそうとしています。PyMEOSやMovingPandasのようなライブラリを使用した既存の手法は、強力な軌跡分析を提供しますが、大規模なデータセットやリアルタイムアプリケーションには対応できません。SnowflakeのArtifact Repositoryを利用することで、私たちはこれらの手法をPython UDFとして統合し、複雑なデータパイプラインなしにSnowflake内で簡単にアクセスでき、スケーラブルにすることが可能になりました。これにより、自動運転車の軌跡分析による運転支援技術の向上、運転行動分析による保険モデルの最適化、ユーザーの移動パターンのマッピングによるネットワーク計画の強化といったモビリティの課題を解決するための、ユーザーにとっての参入障壁が下がります。”

Giulia Carella
Principal Data Scientist, CARTO

メリット

Snowflakeによる、SnowparkのUDFとプロシージャでのPyPIパッケージの拡張サポートには、次の大きなメリットがあります。

  • 手間のいらないほぼ即時のアクセス:あらゆるPyPI(whl)パッケージをすぐに利用できます。 

  • 無限の可能性を解き放つ:PyPIのあらゆる「.whl」パッケージを活用できます。x86 CPUアーキテクチャ固有のパッケージで、Snowpark用に最適化されたウェアハウスを利用することも可能です。カスタムパッケージでは、ユーザーはステージにパッケージをアップロードしてから、UDFまたはストアドプロシージャ内にインポートできます。 

  • 開発の簡略化:開発プロセスを大幅に合理化し、SnowflakeでのPythonアプリケーションの構築とスケーリングをこれまでになく迅速かつ簡単にします。

これにより、組織はセキュアかつシームレスな体験を得られます。ユーザーは、データ分析やデータエンジニアリングのために毎回パッケージをpipインストールする必要がなくなります。代わりに、ARTIFACT_REPOSITORY_PACKAGESの一部としてパッケージ名を指定するだけで済みます。内部的には、パッケージは仮想ウェアハウスの基盤となるサンドボックス環境にインストールされます。簡単に言うと、Snowflakeは、PyPIパッケージの接続とインストールに使用するSNOWFLAKE.SNOWPARK.PYPI_SHARED_REPOSITORYというデフォルトのアーティファクトリポジトリを提供しています。このリポジトリを利用できるようにするには、ACCOUTADMINがロールへのアクセス権を付与する必要があります。また、パフォーマンスを改善するために、パッケージをキャッシュして、毎回PyPIにヒットすることのないようにしています。 

“Tacoma Public Utilitiesでは、データパイプラインをSnowflakeのPythonストアドプロシージャでホストしていますが、その中にはAnacondaチャネルに含まれていないPythonライブラリを必要とするものがあります。例えば、私たちはパートナーと共有するデータを暗号化するためにPGPyを使用しており、パートナーはそのデータを分析してお客様のためのエネルギー効率化の機会を特定しています。以前は、Anaconda以外のライブラリを組み込むのは面倒で、手動でのダウンロード、Snowflakeステージへのアップロード、そして静的なライブラリバージョンの継続的なメンテナンスが必要でした。新しいArtifact Repository機能により、私たちはPyPIとシームレスに統合し、セットアップを簡素化し、手動でのバージョン管理の必要性をなくすことができるようになりました。これにより、私たちのパイプラインは常に最新のメンテナンスされたパッケージにアクセスできるようになり、効率と信頼性の両方が向上します。”

Nicole Edwards
Data Architecture Manager, Tacoma Public Utilities

重要な理由

  • 開発者は、より幅広いPythonライブラリを使用することで、さらに強力なデータアプリケーションを構築できます。

  • データエンジニアは、PyPIのパッケージ(asyncmy、bitstruct、stumpy、sparseなど)を活用してパイプラインを開発し、データエンリッチメント、取り込み、変換、検証などのさまざまなユースケースに使用できます。 

  • データサイエンティストは、PyPIの最新バージョンでTensorFlowやscikit-learnなどの一般的なパッケージを使用して、機械学習ワークフローをシームレスに実行できます。

さっそく始める

PyPIを利用できるようになったことにより、処理能力、柔軟性、摩擦が軽減されます。Pythonの無限の可能性を秘めた世界に飛び込み、Snowparkプロジェクトを新たな高みに導くことができます。

Snowpark Pythonの開発の未来を体験する準備はできていますか?今すぐPyPIに直接アクセスし、その違いをご確認ください。機能に関するドキュメントはこちらを参照してください。 また、この記事では、Snowparkでの非構造化データ処理にPyPIのパッケージを使用するエンドツーエンドの例を紹介しています。 

記事をシェアする

Subscribe to our blog newsletter

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

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

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