AIDP レイクハウス(統合データプラットフォーム)に対して Spark SQL で業務に関する質問に答えます。 次のような場合に使用: - ユーザーがデータに関する質問をしている場合(「いくつ?」「上位N件」「表示してほしい」「~の傾向」「~別の売上」など) - ユーザーが臨機応変な Spark SQL クエリを実行したい場合 動作方法: `.aidp/catalog.md` および `.aidp/semantic.md` の情報を基に判断し、まず既に検証済みのクエリがないか探して再利用します。必要に応じて新しく SQL を生成し、付属の `aidp_sql.py` ヘルパーツールを経由して実行します。
Answer business questions over the AIDP lakehouse with Spark SQL. Use when the user asks a data question ("how many…", "top N…", "show me…", "trend of…", "revenue by…") or wants to run ad-hoc Spark SQL. Grounds in .aidp/catalog.md + .aidp/semantic.md and reuses validated verified queries before generating SQL, then executes via the bundled aidp_sql.py helper.
aidp-analyzing-data — 自然言語 → Spark SQLカタログ/セマンティックモデルに基づいてビジネス上の問いに答えるスキルです。
検証済みクエリを可能な限り再利用し、付属の scripts/aidp_sql.py ヘルパー経由で Spark SQL を実行します。
ソースが外部システム/非レイクハウスシステム(Fusion、EPM、Oracle ADB/ExaCS、Snowflake、S3 など)の場合、 このスキルは レイクハウスネイティブの Spark SQL です。 外部ソースからデータを取得するには、
oracle-ai-data-platform-workbench-spark-connectorsplugin のaidp-<source>スキルを使用してください(未インストールの場合はインストールし、aidp-connectors-bootstrapスキルを一度実行してヘルパーパッケージをクラスターにデプロイしてください)。 複数ソースをまたいだ結合にはaidp-federateを使用します。
検証済みクエリとのマッチング。
.aidp/verified-queries.md を読み込み、verified: true のエントリが質問と近似している場合
(テキストが類似しておりテーブルが重複している場合)、その SQL を再利用します
(日付やバインド値のみを適宜修正)。その旨をユーザーに伝えてください。
グラウンディング。
上記に該当しない場合は .aidp/catalog.md と .aidp/semantic.md を読み込みます。
クイックリファレンス/シノニムを通じて概念→テーブルのマッピングを行い、
記録された 結合キーを使用し(結合を推測しない)、
WHERE 句のリテラルには値ディクショナリを活用し、
セマンティックモデルのメトリクス SQL 式を優先して使用します。
カタログキャッシュが存在しない場合は、先に aidp-catalog-init を実行してください。
スコープを絞る。 質問に必要な最小限のテーブルのみを使用します。 大規模ファクトテーブルには日付フィルターを追加し、 複雑なクエリが繰り返される場合は事前結合済みビューの利用を検討してください。
実行。 付属のヘルパー経由で SQL を実行します。 ヘルパーは api_key の DEFAULT プロファイルから UPST を生成し、 対象クラスター上にスクラッチノートブックを自動作成します (MCP も AIDP_SESSION も不要):
python "$PLUGIN_DIR/scripts/aidp_sql.py" \
--region <region> --datalake <DATALAKE_OCID> --workspace <ws> --cluster <cluster-key> \
--code "spark.sql('''<SQL>''').show(50, truncate=False)"
戻り値は JSON 形式 {status, execution_count, outputs, spark_job_ids, error} です。
呼び出しのたびにセルが実行されます。後続のやり取りでも同じ <SQL> の構造を維持してください。
接続確認には --code "spark.sql('SELECT 1').show()" を使用してください。
結果の提示。 結果を明確に提示します(テーブル形式 + 内容を一行で要約)。実行した SQL も示してください。
学習内容のキャッシュ。
新たな概念→テーブルのマッピングを .aidp/catalog.md に保存するか、
aidp-verified-queries 経由で動作確認済みクエリを登録することを提案してください
(検証済みとしてマークする前にバリデーションが行われます)。
現実の NL→SQL 変換はグラウンディングなしでは不安定です。
カラム名やテーブル名を推測で生成しないでください。
不確かな場合はカタログキャッシュ(または SHOW COLUMNS / DESCRIBE セル)で確認するか、ユーザーに尋ねてください。
テーブルは完全修飾名で指定してください(catalog.schema.table)。
カタログ/スキーマのデフォルト省略はユーザーが明示的に示した場合のみ許容します。
メタデータコマンドも同様です。SHOW TABLES IN <catalog>.<schema> の形式を使用してください
(例: SHOW TABLES IN default.default)。
SHOW TABLES IN default のような非修飾形式は使用しないでください —
default がスキーマではなくカタログとして解釈されるため、
AnalysisException: [SCHEMA_NOT_FOUND] が発生します。
クエリがエラーになった場合は、ヘルパーの error フィールドから Spark エラーを読み取り、
カタログに基づいて修正してから再試行してください。繰り返し推測による修正は行わないでください。
実行前にクラスターが RUNNING 状態であることを確認してください(aidp-cluster-ops 参照)。
ヘルパーは --cluster で指定されたクラスターにアタッチします。
SQL 内での LLM 活用(ai_generate)については aidp-ai-sql を、
クロスソース結合については aidp-federate を参照してください。
aidp-analyzing-data — natural language → Spark SQLAnswer business questions by grounding in the catalog/semantic model, reusing verified queries when
possible, then executing Spark SQL via the bundled scripts/aidp_sql.py helper.
Source is an external / non-lakehouse system (Fusion, EPM, Oracle ADB/ExaCS, Snowflake, S3, …)? This skill is lakehouse-native Spark SQL. To pull from an external source, use the
oracle-ai-data-platform-workbench-spark-connectorsplugin'saidp-<source>skill (install it if absent; run itsaidp-connectors-bootstrapskill once to push the helper package to the cluster), oraidp-federateto join across sources.
.aidp/verified-queries.md; if a verified: true entry closely matches
the question (similar text + table overlap), reuse its SQL (adapt only dates/bind values) and say so..aidp/catalog.md + .aidp/semantic.md: map concepts→tables via Quick
Reference/synonyms, use recorded join keys (don't guess joins), use value dictionaries for WHERE
literals, prefer metric SQL expressions from the semantic model. If the catalog cache is missing, run
aidp-catalog-init first.python "$PLUGIN_DIR/scripts/aidp_sql.py" \
--region <region> --datalake <DATALAKE_OCID> --workspace <ws> --cluster <cluster-key> \
--code "spark.sql('''<SQL>''').show(50, truncate=False)"
Returns JSON {status, execution_count, outputs, spark_job_ids, error}. Each invocation runs the cell;
keep the same <SQL> shape across follow-ups. Smoke-test connectivity with --code "spark.sql('SELECT 1').show()"..aidp/catalog.md and/or register
the working query via aidp-verified-queries (which validates before marking it verified).SHOW COLUMNS / DESCRIBE cell) or ask.catalog.schema.table). Default catalog/schema only when the user implies them.
This includes metadata commands: use SHOW TABLES IN <catalog>.<schema> (e.g. SHOW TABLES IN default.default),
not the unqualified SHOW TABLES IN default — the bare form raises AnalysisException: [SCHEMA_NOT_FOUND]
because default resolves as a catalog, not a schema.error field, fix grounded in the catalog, and
retry — don't guess repeatedly.aidp-cluster-ops); the helper attaches to the
cluster you pass via --cluster.ai_generate) see aidp-ai-sql; for cross-source joins see aidp-federate.原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。