第4章. Snowpark
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
SnowparkはSnowflakeエコシステム内の強力なツールであり、開発者にSnowflakeとやり取りするための柔軟で効率的な方法を提供する。Snowflakeからデータを抽出し、ローカルでPythonで処理し、不正検出モデルをトレーニングし、そして結果を本番環境に戻すのに苦労していたデータサイエンティストのSarahを考えてみよう。 Snowparkを使用することで、彼女はパイプライン全体をSnowflake内で使い慣れたpandasのような構文を使用して直接実行するように書き換え、数百万のトランザクションを処理し、モデルをトレーニングし、プラットフォーム外にデータを移動することなくリアルタイムスコアリングのためにデプロイした。かつてはシステム間の座標調整に何時間もかかっていたものが、今では数分で完了する。これがSnowparkの力である。既存のPythonスキルをデータのあるディレクトリに直接持ち込み、高度な分析を複雑なオーケストレーションの課題にしてきた摩擦をなくすのだ。
この章では、Snowparkとその重要な概念、そしてSnowflakeの機械学習(ML)機能について説明する。まずSnowparkとは何かを説明し、次にSnowparkのDataFrame APIとインラインUDFを見ていく。その後、Snowflake MLを紹介し、最後にこの章ではSnowparkを実際に使用する例をいくつか紹介する。
なぜSnowparkなのか?
Snowparkを使用することで、Snowflake内でデータのクエリやプロセスを実行できるスケーラブルなアプリケーションを構築でき、データをSnowflakeから移動する必要がなくなり、クラウドの無限スケールをフルに活用できる。 Snowparkはベクトル化エンジンであり、メモリなどの上位の処理メカニズムに戻ることなく、データがある場所の近くで演算子を動作させるため、非常に高速だ。 Snowparkは、ベクトル化されたデータや標準的なSnowflakeテーブルのデータセットを3つのプログラミング言語で扱うための統一されたプログラミング・インタフェースを提供する:Java、Scala、Pythonだ。 全体として、Snowflakeへのエントリーの障壁を除去し、SQLスクリプトを書きたくないような技術的なユーザが、好みのインタフェースでコードを書くことができ、SQLユーザと同じ結果を得られるように設計された1つの完全なパッケージである。これは以下のことを実現する:
- 生産性を高める
-
テクニカル・ユーザ/開発者は、新しいインタフェースを学ぶことなく、自分の環境でコードを書くことができる。
- アプリをスケールできるようにする
-
開発者はクラウドの無限スケールを利用して、リソースを気にすることなくスケーラブルなアプリを書いたり構築したりできる。
- データの移動を減らす
-
開発者は、データを処理するためにSnowflakeの外にデータを移動させる必要がなくなり、ネットワーク上のデータ移動を減らすことができる。
では、Snowparkがクライアント、サーバ側で提供するものを見てみよう。
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access