• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLOfficialdevelopment

aidp-snowflake

プラグイン
oracle-ai-data-platform-workbench-spark-connectors
ソース
GitHub で見る ↗
説明

AIDP ノートブック(データ分析専用のノート形式)から、AIDP の `aidataplatform` Spark形式ハンドラー(データ形式の変換ツール)を通じて Snowflake(クラウド型データベース)を読み込みます。 **次のような場合に使用:** - ユーザーが Snowflake、Snowflake ウェアハウス、基本認証、KeyPair 認証、private.key.file、または private.key.content について言及した場合 ※ Snowflake への書き込みは AIDP 4.0 ではサポートされていません。

原文を表示

Read Snowflake from an AIDP notebook through the AIDP `aidataplatform` Spark format handler. Use when the user mentions Snowflake, Snowflake warehouse, Basic authentication, KeyPair authentication, private.key.file, or private.key.content. Snowflake writes are not supported in AIDP 4.0.

ユースケース
  • Snowflakeのデータを読み込むとき
  • Sparkハンドラーでデータ形式を変換するとき
  • AIDPノートブックでデータ分析を行うとき
  • Snowflakeの認証情報を使用するとき
本文(日本語訳)

aidp-snowflake — AIDP経由でSnowflakeを読み取る

AIDP(AIデータプラットフォーム)の組み込みSnowflakeコネクタ(type=SNOWFLAKE)を使用します。基本認証とキーペア認証(複数の暗号化鍵を使った認証方式)、直接読み込み、外部カタログ読み込み、SQL押し下げ(データベース側での処理)に対応しています。4.0リリースではSnowflakeへの書き込みコードを生成しないでください。

使用する場合

  • AIDP ノートブックからSnowflakeウェアハウス(データ倉庫)を読み取りたい
  • 「Snowflake」「warehouse」「private.key.file」「KeyPair」などが言及されている

使用しない場合

  • 専用コネクタがないJDBC(汎用データベース接続)ソースの場合 → aidp-jdbc-customを参照
  • Snowflakeへの書き込みリクエストの場合:4.0版のAIDP Snowflakeコネクタは読み取り専用であることを説明してください

基本認証による読み取り

import os
from oracle_ai_data_platform_connectors.aidataplatform import (
    AIDP_FORMAT, aidataplatform_options,
)

opts = aidataplatform_options(
    type="SNOWFLAKE",
    host=os.environ["SNOWFLAKE_HOST"],
    port=443,
    database_name=os.environ["SNOWFLAKE_DATABASE"],
    user=os.environ["SNOWFLAKE_USER"],
    password=os.environ["SNOWFLAKE_PASSWORD"],
    schema=os.environ["SNOWFLAKE_SCHEMA"],
    table=os.environ["SNOWFLAKE_TABLE"],
    extra={
        "authentication.method": "Basic",
        "warehouse": os.environ["SNOWFLAKE_WAREHOUSE"],
        "role": os.environ.get("SNOWFLAKE_ROLE", ""),
    },
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(5)

キーペア認証による読み取り

private.key.fileまたはprivate.key.contentのいずれかを設定します。暗号化されたキーの場合のみprivate.key.pass.phraseを使用してください。

opts = aidataplatform_options(
    type="SNOWFLAKE",
    host=os.environ["SNOWFLAKE_HOST"],
    port=443,
    database_name=os.environ["SNOWFLAKE_DATABASE"],
    user=os.environ["SNOWFLAKE_USER"],
    schema=os.environ["SNOWFLAKE_SCHEMA"],
    table=os.environ["SNOWFLAKE_TABLE"],
    extra={
        "authentication.method": "KeyPair",
        "warehouse": os.environ["SNOWFLAKE_WAREHOUSE"],
        "role": os.environ.get("SNOWFLAKE_ROLE", ""),
        "private.key.file": os.environ["SNOWFLAKE_PRIVATE_KEY_FILE"],
        "private.key.pass.phrase": os.environ.get("SNOWFLAKE_PRIVATE_KEY_PASSPHRASE", ""),
    },
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(5)

キーをインラインで指定する場合は、private.key.fileをprivate.key.contentに置き換えてください。ノートブックに秘密鍵をハードコードしないでください。

外部カタログからの読み取り

最初にマスターカタログにSnowflake外部カタログを作成します。その後、3つの部分からなるテーブル名を使用するか、catalog.idでその接続を再利用できます。

catalog_df = spark.table("<CATALOG_NAME>.<SCHEMA>.<TABLE_NAME>")
catalog_df.show(5)

catalog_id_df = (spark.read.format(AIDP_FORMAT)
    .option("catalog.id", "<CATALOG_ID>")
    .option("schema", "<SCHEMA>")
    .option("table", "<TABLE_NAME>")
    .load())
catalog_id_df.show(5)

SQL押し下げ(ソース側での処理)

pushdown.sqlを使用してSnowflake側でクエリを実行します。

pushdown_df = (spark.read.format(AIDP_FORMAT)
    .options(**opts)
    .option("pushdown.sql", "SELECT * FROM <SCHEMA>.<TABLE_NAME> LIMIT 10")
    .load())
pushdown_df.show(5)

注意点

  • 4.0では読み取り専用です。 Snowflakeに対してdf.write、saveAsTable、insertInto、write.modeを使用しないでください。
  • 認証値は大文字小文字を区別します。 BasicまたはKeyPairを使用してください。
  • ウェアハウスは必須です。 両方の認証方式でwarehouseを設定してください。roleはオプションです。
  • ネットワーク接続性。 AIDAクラスタがSnowflakeアカウントエンドポイントへの送信HTTPS接続を必要とします。

参考資料

  • 公式サンプル:Snowflakeノートブック
原文(English)を表示

aidp-snowflake — read Snowflake via AIDP aidataplatform

Use the built-in AIDP Snowflake connector (type=SNOWFLAKE). It supports Basic and KeyPair authentication, direct ingestion reads, external-catalog reads, and SQL pushdown. Do not generate write code for Snowflake in the 4.0 release.

When to use

  • Read from a Snowflake warehouse in an AIDP notebook.
  • Mentioned: "Snowflake", "warehouse", "private.key.file", or "KeyPair".

When NOT to use

  • For a generic JDBC-only source that has no dedicated connector → aidp-jdbc-custom.
  • For a Snowflake write request, explain that the 4.0 AIDP Snowflake connector is read-only.

Basic authentication read

import os
from oracle_ai_data_platform_connectors.aidataplatform import (
    AIDP_FORMAT, aidataplatform_options,
)

opts = aidataplatform_options(
    type="SNOWFLAKE",
    host=os.environ["SNOWFLAKE_HOST"],
    port=443,
    database_name=os.environ["SNOWFLAKE_DATABASE"],
    user=os.environ["SNOWFLAKE_USER"],
    password=os.environ["SNOWFLAKE_PASSWORD"],
    schema=os.environ["SNOWFLAKE_SCHEMA"],
    table=os.environ["SNOWFLAKE_TABLE"],
    extra={
        "authentication.method": "Basic",
        "warehouse": os.environ["SNOWFLAKE_WAREHOUSE"],
        "role": os.environ.get("SNOWFLAKE_ROLE", ""),
    },
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(5)

Key-pair authentication read

Set one of private.key.file or private.key.content. Use private.key.pass.phrase only for an encrypted key.

opts = aidataplatform_options(
    type="SNOWFLAKE",
    host=os.environ["SNOWFLAKE_HOST"],
    port=443,
    database_name=os.environ["SNOWFLAKE_DATABASE"],
    user=os.environ["SNOWFLAKE_USER"],
    schema=os.environ["SNOWFLAKE_SCHEMA"],
    table=os.environ["SNOWFLAKE_TABLE"],
    extra={
        "authentication.method": "KeyPair",
        "warehouse": os.environ["SNOWFLAKE_WAREHOUSE"],
        "role": os.environ.get("SNOWFLAKE_ROLE", ""),
        "private.key.file": os.environ["SNOWFLAKE_PRIVATE_KEY_FILE"],
        "private.key.pass.phrase": os.environ.get("SNOWFLAKE_PRIVATE_KEY_PASSPHRASE", ""),
    },
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(5)

To supply the key inline, replace private.key.file with private.key.content; never hard-code a private key in a notebook.

External-catalog read

Create the Snowflake external catalog in Master Catalogs first. You can then use a three-part table name or reuse its connection with catalog.id.

catalog_df = spark.table("<CATALOG_NAME>.<SCHEMA>.<TABLE_NAME>")
catalog_df.show(5)

catalog_id_df = (spark.read.format(AIDP_FORMAT)
    .option("catalog.id", "<CATALOG_ID>")
    .option("schema", "<SCHEMA>")
    .option("table", "<TABLE_NAME>")
    .load())
catalog_id_df.show(5)

Pushdown SQL

Use pushdown.sql to execute a source query in Snowflake.

pushdown_df = (spark.read.format(AIDP_FORMAT)
    .options(**opts)
    .option("pushdown.sql", "SELECT * FROM <SCHEMA>.<TABLE_NAME> LIMIT 10")
    .load())
pushdown_df.show(5)

Gotchas

  • Read-only in 4.0. Do not use df.write, saveAsTable, insertInto, or write.mode with Snowflake.
  • Authentication values are case-sensitive. Use Basic or KeyPair.
  • Warehouse is required. Set warehouse for both authentication modes; role is optional.
  • Network reachability. The AIDP cluster needs outbound HTTPS access to the Snowflake account endpoint.

References

  • Official sample: Snowflake notebook

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。