snowflake-development について
snowflake-developmentは、Snowflake SQLの分析やウェアハウスのサイズ検討を行うデータエンジニア向けスキルです。コマンドラインツールでクエリを分析・最適化し、ワークロードの種類とデータ量に基づいてサイズを提案します。
主な機能
- 01Snowflake SQL分析
- 02クエリ最適化の提案
- 03ワークロード別のウェアハウスサイズ提案
- 04データ量に基づく推奨
活用シーン
- 01遅いSnowflake SQLクエリの確認
- 02SQLファイルの最適化
- 03ETLやBIワークロードのウェアハウスサイズ検討
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ borghei/ claude-skills --skill snowflake-developmentインストール後、Claude Code で/snowflake-developmentを入力して読み込まれたか確認します。
同梱ファイルreferences/snowflake-best-practices.mdscripts/snowflake_query_helper.py
詳細
Snowflake 開発
カテゴリ: エンジニアリング ドメイン: データウェアハウス
概要
Snowflake 開発スキルは、Snowflake SQL クエリの分析と最適化、ウェアハウスのサイズ推奨、Snowflake 固有のベストプラクティスの適用に役立つツールを提供します。データエンジニアがコストを削減し、クエリのパフォーマンスを向上させるのに役立ちます。
まず確認すること
分析やサイズの推奨を行う前に、以下の入力を確認してください。入力が不足している、または曖昧で、結果に影響する場合は質問してください。影響しない場合は妥当なデフォルト値を使用し、使用した値を伝えてください。
- アクション: analyze / optimize / warehouse-sizing(
--action;ワークフローを選択します)。 - SQL ファイルまたはクエリ: 最適化する特定のクエリ(
--file;分析対象です)。 - ワークロードの種類とデータ量: ETL / BI / アドホックと GB 単位の規模(
--workload/--data-volume;ウェアハウスの推奨を左右します)。
リクエストにとって重要な入力を 2、3 個確認し、リスト全体について質問しないでください。ユーザーがすぐに結果を求めている場合は、結果を提示し、冒頭に前提を記載してください。
クイックスタート
# Analyze a Snowflake SQL file for optimization opportunities
python scripts/snowflake_query_helper.py --file queries.sql --action analyze
# Get warehouse sizing recommendations
python scripts/snowflake_query_helper.py --action warehouse-sizing --workload "etl" --data-volume "500GB"
# Optimize a specific query
python scripts/snowflake_query_helper.py --file slow_query.sql --action optimize
ツールの概要
| ツール | 用途 | 主なフラグ |
|---|---|---|
snowflake_query_helper.py | Snowflake SQL の分析と最適化、ウェアハウスサイズの推奨 | --file、--action、--workload、--data-volume |
ワークフロー
クエリパフォーマンスの最適化
- クエリ履歴から実行速度の遅いクエリを収集します
- アナライザーを実行して最適化の機会を特定します
- 推奨された変更を適用します
- 実行プランを変更前と変更後で比較します
ウェアハウスの適正サイズ選定
- ワークロードの種類(ETL、BI、アドホックなど)を特定します
- データ量を指定して warehouse-sizing を実行します
- 推奨内容を確認します
- 該当する場合はマルチクラスター設定を実装します
リファレンスドキュメント
- Snowflake のベストプラクティス - クエリパターン、ウェアハウス管理、コスト最適化
よくあるパターン
コスト削減
- ウェアハウスのサイズを適正化します(小さなクエリに XL を使用しないでください)
- アドホックウェアハウスでは auto-suspend を 60 秒に設定します
- 頻繁にアクセスされる集計にはマテリアライズドビューを使用します
- 大きなテーブルはクラスタリングキーでパーティション化します
- 本番クエリで SELECT * を避けます
コメント
Markdown 対応