AIDP ノートブックから AIDP の `aidataplatform` Spark 形式ハンドラー経由で、MySQL または OCI MySQL HeatWave(Oracle Cloud インフラストラクチャのデータベースサービス)に対してデータを読み込んだり書き込んだりできます。 次のような場合に使用: - ユーザーが MySQL、HeatWave、MySQL Database Service、MDS、またはそれらの MySQL ホスト/ポート情報を言及している場合 認証方法は、ホスト/ポート と ユーザー名/パスワードです。
Read or write MySQL or OCI MySQL HeatWave from an AIDP notebook via the AIDP `aidataplatform` Spark format handler. Use when the user mentions MySQL, HeatWave, MySQL Database Service, MDS, or has a MySQL host/port. Auth is host/port + user/password.
aidp-mysql — AIDP aidataplatform 経由の MySQL / OCI MySQL HeatWaveオンプレミス/汎用 MySQL(type=MYSQL)と OCI MySQL HeatWave(type=MYSQL_HEATWAVE)の両方に対応しています。
オプションの構造は同一で、異なるのは type のみです。
ほとんどのワークロードでは MYSQL を選択すれば、コネクタが適切にルーティングします。
HeatWave 対応の最適化を有効にするには MYSQL_HEATWAVE を選択してください
(AIDP コネクタが互換性のある処理を HeatWave アクセラレータにプッシュダウンします)。
aidp-postgresqlaidp-sqlserverimport os
from oracle_ai_data_platform_connectors.aidataplatform import (
AIDP_FORMAT, aidataplatform_options,
)
opts = aidataplatform_options(
type=os.environ.get("MYSQL_TYPE", "MYSQL"), # または "MYSQL_HEATWAVE"
host=os.environ["MYSQL_HOST"],
port=int(os.environ.get("MYSQL_PORT", "3306")),
user=os.environ["MYSQL_USER"],
password=os.environ["MYSQL_PASSWORD"],
schema=os.environ["MYSQL_SCHEMA"], # MySQL の schema = データベース名
table=os.environ["MYSQL_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(5)
opts = aidataplatform_options(
type="MYSQL",
host=os.environ["MYSQL_HOST"],
port=int(os.environ.get("MYSQL_PORT", "3306")),
user=os.environ["MYSQL_USER"],
password=os.environ["MYSQL_PASSWORD"],
schema=os.environ["MYSQL_SCHEMA"],
table=os.environ["MYSQL_TARGET_TABLE"],
extra={"write.mode": "CREATE"},
)
df.write.format(AIDP_FORMAT).options(**opts).save()
schema = MySQL のデータベース名
MySQL では「スキーマ」と「データベース」が同一概念です。schema にはデータベース名を渡してください。
HeatWave ルーティング
HeatWave 対応の述語プッシュダウンを有効にするには type=MYSQL_HEATWAVE を指定してください。
type=MYSQL でも MySQL DB Service 自体は動作しますが、HeatWave アクセラレーションは明示的な type 指定が必要です。
デフォルトポートは 3306(MySQL / HeatWave 共通)。
OCI HeatWave Lakehouse はポート 33060(XAPI)を公開しているため、その場合は MYSQL_PORT=33060 を指定してください。
ネットワーク到達性 PostgreSQL と同様の制約があります。AIDP クラスタの VCN からアクセス可能である必要があります。
data-engineering/ingestion/Read_Write_External_Ecosystem_Connectors.ipynbdata-engineering/ingestion/Read_Only_Ingestion_Connectors.ipynbaidp-mysql — MySQL / OCI MySQL HeatWave via AIDP aidataplatformCovers both on-prem / generic MySQL (type=MYSQL) and OCI MySQL HeatWave (type=MYSQL_HEATWAVE). The option shape is identical; only the type differs. For most workloads pick MYSQL and the connector will route correctly. Choose MYSQL_HEATWAVE to get HeatWave-aware optimizations (the AIDP connector pushes down compatible ops to the HeatWave accelerator).
aidp-postgresql.aidp-sqlserver.import os
from oracle_ai_data_platform_connectors.aidataplatform import (
AIDP_FORMAT, aidataplatform_options,
)
opts = aidataplatform_options(
type=os.environ.get("MYSQL_TYPE", "MYSQL"), # or "MYSQL_HEATWAVE"
host=os.environ["MYSQL_HOST"],
port=int(os.environ.get("MYSQL_PORT", "3306")),
user=os.environ["MYSQL_USER"],
password=os.environ["MYSQL_PASSWORD"],
schema=os.environ["MYSQL_SCHEMA"], # MySQL schema = database name
table=os.environ["MYSQL_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(5)
opts = aidataplatform_options(
type="MYSQL",
host=os.environ["MYSQL_HOST"],
port=int(os.environ.get("MYSQL_PORT", "3306")),
user=os.environ["MYSQL_USER"],
password=os.environ["MYSQL_PASSWORD"],
schema=os.environ["MYSQL_SCHEMA"],
table=os.environ["MYSQL_TARGET_TABLE"],
extra={"write.mode": "CREATE"},
)
df.write.format(AIDP_FORMAT).options(**opts).save()
schema = MySQL database name. MySQL conflates "schema" and "database"; pass the database name as schema.type=MYSQL_HEATWAVE to enable HeatWave-aware predicate pushdown. The MySQL DB Service still works under type=MYSQL; you only get HeatWave acceleration with the explicit type.MYSQL_PORT=33060 for that case.data-engineering/ingestion/Read_Write_External_Ecosystem_Connectors.ipynbdata-engineering/ingestion/Read_Only_Ingestion_Connectors.ipynb原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。