querying-data-lake
AthenaのSQLクエリをデフォルトおよびフェデレーテッドカタログ(Glue、S3 Tables、Redshift)全体で実行・管理します。「データをクエリする」「SQLを実行する」「テーブルを分析する」「Redshiftカタログを照会する」などのフレーズで起動します。特定データ資産の検索(finding-data-lake-assets)、カタログ全体の監査(exploring-data-catalog)、データのインポート(ingesting-into-data-lake)には使用しないでください。
description の原文を見る
>- Execute and manage Athena SQL queries across default and federated catalogs (Glue, S3 Tables, Redshift). Triggers on phrases like: query data, run SQL, athena query, analyze table, SQL query, workgroup status, profile table, query Redshift catalog, query S3 Tables. Do NOT use for finding specific data assets (use finding-data-lake-assets), full catalog audits (use exploring-data-catalog), importing data (use ingesting-into-data-lake).
SKILL.md 本文
データレイクのクエリ実行
デフォルトカタログおよびフェデレーテッドカタログ (Glue、S3 Tables、Redshift) にわたって Amazon Athena で SQL クエリを実行します。ワークグループの選択、ステートメント分類、エラー復旧に対応しています。
概要
Athena SQL クエリをデフォルトおよびフェデレーテッドカタログ (Glue、S3 Tables、Redshift) 全体で実行・管理します。ワークグループを選択し、ターゲットアセットを解決し (ファジー参照は finding-data-lake-assets に委譲)、ステートメントを安全性に関して分類し、コストとスキャンデータを報告します。AWS MCP サーバーを使用してサンドボックス環境での実行と監査ログを実施します。MCP サーバーが利用できない場合、同じ AWS CLI コマンドを直接実行できます。
パラメータ取得の制約:
- SQL テキスト、名前付きクエリ名、ワークグループ名、カタログ名、または
profile TABLE_NAMEのいずれか 1 つのオプション引数を受け入れる必要があります - 引数を直接テキストとして、または SQL を含むファイルへのポインタとして受け入れる必要があります
- 対象の AWS リージョンがまだ設定されていない場合はユーザーに確認する必要があります
- 自明でないクエリを実行する前に出力 S3 ロケーションを確認する必要があります
- ユーザーが任意のステップで中止することを決定した場合、それを尊重する必要があります
一般的なタスク
1. 依存関係の確認
クエリを実行する前に、必要なツールと AWS アクセスを確認します。
制約:
- AWS MCP サーバーツール (
aws___call_aws) が利用可能かどうかを確認し、存在する場合はそれらを通じてクエリを実行する必要があります。MCP サーバーが利用できない場合のみ AWS CLI にフォールバックします - クエリ実行に Shell や Bash にフォールバックしてはいけません。結果は MCP ツールまたは
aws athenaCLI を通じてキャプチャする必要があり、出力ロケーションとコストが追跡されます aws sts get-caller-identityで認証情報を確認し、ユーザーに欠落しているツールについて通知する必要があります
2. ワークグループの解決
呼び出し元 ID を確認し、ワークグループを一覧表示し、最適なワークグループを自動選択します (workgroup-selection.md を参照)。
制約:
- クエリを送信する前に必ずワークグループを選択する必要があります (出力ロケーションエラーを防ぎます)
- 選択されたワークグループとその出力ロケーションをユーザーに提示する必要があります
- ユーザーの確認なしに失敗時に別のワークグループに自動昇格しないでください
3. ターゲットアセットの解決
ユーザーがテーブル名、ビジネス概念 ("四半期レポート"、"売上データ")、S3 パス、またはテーブルを指定せずにカタログで参照している場合は、finding-data-lake-assets に委譲して具体的な database.table (非デフォルト場合はカタログ) を返してもらいます。
制約:
athena list-data-catalogsまたはget-tablesの反復処理を使用してファジーアセット参照を解決しようとしないでください。これはフェデレーテッドカタログをミスし、トークンを浪費します- ユーザーが完全修飾参照 (正確な
database.table) または実行のままのままにしたい SQL を提供する場合のみこのステップをスキップしてください - クエリを構築する前に解決されたアセットを明示的に記述する必要があります: "Found [table] in [catalog]. Using this for the query."
- ユーザーが "フェデレーテッド"、"Redshift"、"S3 Tables" に言及している場合、または
finding-data-lake-assetsが別のカタログを返す場合を除き、デフォルト Glue カタログをデフォルトにする必要があります
4. スキーマの発見
分析クエリの場合、最終クエリを構築する前にターゲットテーブルをプロファイルする必要があります。プロファイリングの一部として、サンプル行 (SELECT ... LIMIT 5) を表示する必要があります。
5. クエリの構築
テーブルのアドレス指定はカタログタイプによって異なります:
- デフォルト Glue カタログ:
database.table(単一カタログクエリではカタログプレフィックスを省略)。クロスカタログクエリでは、デフォルトカタログテーブルを"awsdatacatalog".database.tableで修飾します。 - 登録されたデータソース:
datasource.database.table - 未登録の Glue カタログ:
"catalog/subcatalog".database.table
6. 分類と実行
実行前に SQL ステートメントを分類します:
| ステートメント | 動作 |
|---|---|
SELECT、SHOW、DESCRIBE、EXPLAIN | 安全 — 実行 |
INSERT、UPDATE、DELETE、DROP、ALTER、CREATE、TRUNCATE、MERGE | 破壊的 — ユーザーに警告して明示的な確認が必要 |
| 不確実 | 破壊的として扱う; 確認 |
ツール呼び出しの例 (AWS MCP サーバー経由):
aws___call_aws(command="aws athena start-query-execution --work-group <WORKGROUP_NAME> --query-string '<sql>' --query-execution-context Database=<db>")
フェデレーテッドまたは S3 Tables カタログの場合、実行コンテキストに Catalog=<CATALOG_PATH> も設定します (例: Catalog=s3tablescatalog/<BUCKET_NAME>)。
制約:
- Redshift フェデレーテッド ("パーティションプルーニングなし — すべてのクエリがテーブル全体をスキャン") を実行する前にユーザーに警告する必要があります
- クロスカタログ結合を実行する前にユーザーに警告する必要があります ("クロスカタログ結合はネットワークオーバーヘッドが発生し、遅い可能性があります")
- 実行前に出力 S3 ロケーションを確認する必要があります
- 実行前にどのツールが呼び出されているかを説明する必要があります
- ユーザーが中止することを決定した場合それを尊重する必要があります
7. 結果の提示と復旧
コスト、スキャンデータ、期間、および実行可能なインサイトを含めて結果を提示します。失敗時、利用可能なワークグループを一覧表示し、ユーザーがどれで再試行するかを選択させます。
引数ルーティング
この順序で解決し、最初の一致で停止します:
- SQL キーワード (
SELECT、SHOW、DESCRIBE、INSERTなど) を含む — SQL テキスト、直接実行 profile TABLE_NAME— 包括的なテーブルプロファイリングを実行 (query-patterns.mdを参照)- 既知の名前付きクエリと一致 — ルックアップして実行
- 既知のワークグループと一致 — ワークグループのステータスと最近のクエリを表示
- 既知のカタログと一致 —
exploring-data-catalogに委譲してデータベースとテーブルを列挙 - 引数なし — 最近のクエリアクティビティと利用可能なテーブルを表示
原則
- 常に実行前にワークグループを選択します (出力ロケーションエラーを防ぎます)
- 分析クエリを実行する前に不慣れなテーブルをプロファイルします
- 結果と一緒にコストを提示して、ユーザーがコスト認識を構築できるようにします
- 大規模なテーブルでの探索的クエリの場合は
LIMITを提案します - 明らかな答えを持つドメイン質問は尋ねません。ただし、常にセキュリティ関連のアクション (ワークグループ切り替え、出力ロケーション変更、非SELECT ステートメント) を確認します
トラブルシューティング
| エラー | 原因 | 修正 |
|---|---|---|
| Redshift 識別子エラー (混在ケース) | Redshift フェデレーテッド名は小文字のみ | 識別子を小文字にする |
CatalogId 検証失敗 | ARN がカタログ名の代わりに渡された | カタログ名を渡す (ARN ではなく) |
クロスカタログ information_schema が何も返さない | カタログ修飾子が不足 | カタログ修飾パスを使用: "catalog".information_schema.tables |
| クエリが出力ロケーションエラーで失敗 | ワークグループに出力ロケーションが設定されていない | 出力ロケーション付きの別のワークグループを選択、または設定 |
| 確認なしに破壊的ステートメントが実行された | ステートメント分類がスキップされた | 常に INSERT/UPDATE/DELETE/DROP/ALTER/CREATE/TRUNCATE/MERGE を分類してユーザーに確認 |
追加リソース
ワークグループ選択ロジック一般的なクエリパターン- Athena ベストプラクティス
- Athena フェデレーテッドクエリ
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- aws
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/aws/agent-toolkit-for-aws / ライセンス: Apache-2.0
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。