🗄️aidp-mysql
- ソース
- GitHub で見る ↗
説明
AIDPノートブックから、AIDPの `aidataplatform` Spark フォーマットハンドラーを介して、MySQL または OCI MySQL HeatWave に対してデータの読み取り・書き込みを行います。 次のような場合に使用: ユーザーが 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.
ユースケース
- ✓MySQLやHeatWaveへデータを読み取るとき
- ✓MySQLやHeatWaveへデータを書き込むとき
- ✓MySQL Database Serviceを利用するとき
- ✓MySQLのホスト/ポートを指定するとき
本文(日本語訳)
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 ノートブックから MySQL または OCI HeatWave に対して読み取り・書き込みを行いたい場合。
- 「MySQL」「HeatWave」「MDS」「MySQL Database Service」というキーワードが言及されている場合。
使用しない場合
- Postgres の場合 →
aidp-postgresql - SQL Server の場合 →
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"), # または "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 からアクセス可能である必要があります。
参考資料
- ヘルパー: scripts/oracle_ai_data_platform_connectors/aidataplatform.py
- 公式サンプル(MYSQL): oracle-samples/oracle-aidp-samples →
data-engineering/ingestion/Read_Write_External_Ecosystem_Connectors.ipynb - 公式サンプル(MYSQL_HEATWAVE): oracle-samples/oracle-aidp-samples →
data-engineering/ingestion/Read_Only_Ingestion_Connectors.ipynb
原文(English)を表示
aidp-mysql — MySQL / OCI MySQL HeatWave via AIDP aidataplatform
Covers 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).
When to use
- Read or write MySQL or OCI HeatWave from an AIDP notebook.
- Mentioned: "MySQL", "HeatWave", "MDS", "MySQL Database Service".
When NOT to use
- For Postgres →
aidp-postgresql. - For SQL Server →
aidp-sqlserver.
Read
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)
Write
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()
Gotchas
schema= MySQL database name. MySQL conflates "schema" and "database"; pass the database name asschema.- HeatWave routing — pass
type=MYSQL_HEATWAVEto enable HeatWave-aware predicate pushdown. The MySQL DB Service still works undertype=MYSQL; you only get HeatWave acceleration with the explicit type. - Default port 3306 for MySQL / HeatWave; OCI HeatWave Lakehouse exposes port 33060 (XAPI) — use
MYSQL_PORT=33060for that case. - Network reachability — same constraint as PostgreSQL: must be reachable from the AIDP cluster's VCN.
References
- Helper: scripts/oracle_ai_data_platform_connectors/aidataplatform.py
- Official sample (MYSQL): oracle-samples/oracle-aidp-samples →
data-engineering/ingestion/Read_Write_External_Ecosystem_Connectors.ipynb - Official sample (MYSQL_HEATWAVE): oracle-samples/oracle-aidp-samples →
data-engineering/ingestion/Read_Only_Ingestion_Connectors.ipynb
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。