データエンジニアの日常業務は、Pythonを書くことだけではありません。依存関係のパッケージ化、構成の管理、ツール間の移動、そしてパイプラインを本番環境に展開する方法の検討なども含まれます。そのようなコンテキストスイッチやオーバーヘッドは、実際のデータ作業が完了するはるか前にチームのスピードを低下させます。
パイプラインがローカルで動作するようになっても、それを本番環境に展開するには依然として多大な労力を要する場合があります。開発者は、ストアドプロシージャやUDFを実行する準備が整う前に、プロジェクトファイルのスキャフォールディング、展開コマンドの操作、そしてエンドツーエンドでのすべての検証を行う必要があります。
これは、ほとんどの一般的なAIコーディングアシスタントが力不足となる部分でもあります。これらはPythonを書くのには役立ちますが、動作するコードから本番環境に対応したワークフローへ移行するために必要な展開のコンテキストが欠けていることがよくあります。これらは、プロジェクト構造の検証、ランタイムの問題の捕捉、サポートファイルの生成、ビルド、展開、検証の処理といった、ローカルでの開発から展開までの全体的なパスをガイドするようには構築されていません。
しかし、Snowparkを使用すると、データが存在する場所でPythonを直接実行できます。エグレスや個別のクラスターは不要です。これには説得力のある理由があります。ガバナンスが効いた1つのセキュアなプラットフォーム上で、本番環境のユースケース1に基づき、平均して5.1倍のパフォーマンス向上と42%のコスト削減を実現します。
Snowflake CoCoは、これをさらに一歩進めます。本日に提供開始されたsnowpark-pythonスキルを使用すると、開発者はシングルプロンプトでPythonコードを作成し、ローカルのPythonファイルを展開済みの本番規模のワークフローに移行できます。
snowpark-pythonスキルのご紹介
Snowflake CoCoはデータネイティブなAIコーディングエージェントであり、Snowsightのほか、CLI、デスクトップIDE、拡張機能で利用できます。snowpark-pythonスキルは、その主要な組み込み機能の1つです。以下の3つの領域をカバーしています。
- オーサリング:Snowflake固有のセマンティクスが組み込まれた、慣用的なSnowparkパイプライン(DataFrame、UDF、ストアドプロシージャなど)を作成します。
サンプルプロンプト:「このCSVを取り込み、無効なトランザクションをフィルタリングして、四半期の売上を返すSnowparkスクリプトの作成を手伝ってください」 - 展開とCI/CD:単一のフローでストアドプロシージャやUDFを検証、スキャフォールディング、ビルド、展開します。
サンプルプロンプト:「このディレクトリにPythonパイプラインがあります。この接続とウェアハウスを使用して、これをSnowparkに展開してください」 - オブザーバビリティ:遅いUDFをデバッグし、パイプラインのパフォーマンスを最適化します。
サンプルプロンプト:「Python UDFの実行が遅いです。根本原因の特定を手伝ってください」
このスキルは、Snowpark、UDF、ストアドプロシージャ、または関連するキーワードに言及すると自動的にアクティブになります。また、snowpark-pythonで直接呼び出すこともできます。また、このスキルは重要な決定ポイントで一時停止するため、本番環境に展開されるものをユーザーが常に制御できます。
実演デモ
snowpark-pythonワークフローの強みは、そのシームレスさにあります。以下の動画のデモは、ステージングされたCSVデータを読み取り、無効なレコードをフィルタリングし、リージョン別の月間収益を計算して結果をテーブルに書き込む、sales_pipeline.pyというローカルファイルから始まります。
そこからのプロンプトはシンプルです。指定された接続とウェアハウスを使用して、そのパイプラインをSnowparkに展開するようにCoCoに依頼するだけです。
1つのプロンプトからわずか2分で、ローカルのSnowparkパイプラインがSnowflakeに展開されます。
図 1:CoCoが1つの対話型プロンプトからSnowparkストアドプロシージャを検証、スキャフォールディング、ビルド、展開、テストする完全なワークフロー
開発者はドキュメント、構成ファイル、CLIコマンドの間を行き来することなく1つのワークフローにとどまることができ、その間にCoCoがパイプラインを本番規模で運用するために必要な手順を処理します。
CoCoの裏側の仕組み
セットアップの検証
CoCoは、PythonパイプラインがSnowparkの要件を満たしていることを検証します。プロジェクトの構造を確認し、環境変数の依存関係など、潜在的なランタイムの問題を特定して、コードがSnowflake内で実行できることを検証します。
プロジェクトのスキャフォールディング
次に、このツールは展開構造を整理します。Snowflake CLIルート(CI/CDに最適)を選択することで、snowflake.yml、ハンドラーコード、requirements.txtなどの必要なファイルを自動的に生成します。
展開と検証
最後に、CoCoはストアドプロシージャをビルドして展開します。アーティファクトをアップロードし、テストを実行してセットアップを検証します。デモでは、プロシージャが5,000件のレコードを正常に処理し、無効なトランザクションをフィルタリングして、ターゲットテーブルでリージョンごとの月間収益を集計します。
これには魅力的なメリットがあります。セットアップの手間やツールの切り替えを減らし、PythonパイプラインをSnowflake上でネイティブに実行できるようにするまでの時間を短縮できることです。
使用を開始する
snowpark-pythonスキルはCoCoにバンドルされており、セットアップは不要です。
次のプロンプトをお試しください。
「[your path]にPythonパイプラインがあります。[your connection]と[your warehouse]を使用してSnowparkに展開してください」
CoCoの使用を開始するには、ドキュメントをご確認ください。
12022年11月から2026年5月までの期間について、お客様の実稼働ユースケースと概念実証(PoC)の実践におけるSnowparkの速度とコストの比較結果に基づきます。実際の速度およびコストの改善は、お客様の特定の環境やワークロードパターンによって異なります。


