Azure SQL Database(マイクロソフトのクラウドデータベースサービス)のデータを、AIDP(Analytical Intelligence Data Platform)ノートブック内で読み書きできます。AIDP の `aidataplatform` Spark 形式ハンドラーを通じて処理されます。 **次のような場合に使用:** - ユーザーが Azure SQL、Azure SQL Database、AZURE_SQLSERVER、または database.windows.net のエンドポイントについて言及したとき 認証には SQL ユーザー名とパスワードを使用します。
Read or write Azure SQL Database from an AIDP notebook through the AIDP `aidataplatform` Spark format handler. Use when the user mentions Azure SQL, Azure SQL Database, AZURE_SQLSERVER, or a database.windows.net endpoint. Auth is SQL username/password.
aidp-azuresql — AIDP経由でAzure SQL Databaseに接続専用のAzure SQLコネクタタイプ AZURE_SQLSERVER を使用します。データの読み込み・書き込み、外部カタログへのアクセス、catalog.id、およびSQL処理の下推し(データベース側で実行)に対応しています。
database.windows.net が提示されているaidp-sqlserveraidp-azure-adlsimport os
from oracle_ai_data_platform_connectors.aidataplatform import (
AIDP_FORMAT, aidataplatform_options,
)
opts = aidataplatform_options(
type="AZURE_SQLSERVER",
host=os.environ["AZURE_SQL_HOST"],
port=int(os.environ.get("AZURE_SQL_PORT", "1433")),
database_name=os.environ["AZURE_SQL_DATABASE"],
user=os.environ["AZURE_SQL_USER"],
password=os.environ["AZURE_SQL_PASSWORD"],
schema=os.environ.get("AZURE_SQL_SCHEMA", "dbo"),
table=os.environ["AZURE_SQL_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(5)
CREATE(新規作成)、APPEND(追加)、OVERWRITE(上書き)、MERGE(統合)に対応しています。MERGE を使う場合は write.merge.keys が必須です。
write_opts = aidataplatform_options(
type="AZURE_SQLSERVER",
host=os.environ["AZURE_SQL_HOST"],
port=int(os.environ.get("AZURE_SQL_PORT", "1433")),
database_name=os.environ["AZURE_SQL_DATABASE"],
user=os.environ["AZURE_SQL_USER"],
password=os.environ["AZURE_SQL_PASSWORD"],
schema=os.environ.get("AZURE_SQL_SCHEMA", "dbo"),
table=os.environ["AZURE_SQL_TARGET_TABLE"],
extra={"write.mode": "CREATE"},
)
df.write.format(AIDP_FORMAT).options(**write_opts).save()
catalog.idまず「マスターカタログ」でAzure SQL外部カタログを作成します。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.write.format(AIDP_FORMAT) \
.option("catalog.id", "<CATALOG_ID>") \
.option("schema", "<SCHEMA>") \
.option("table", "<TARGET_TABLE_NAME>") \
.option("write.mode", "APPEND") \
.save()
pushdown_df = (spark.read.format(AIDP_FORMAT)
.options(**opts)
.option("pushdown.sql", "SELECT TOP 10 * FROM <SCHEMA>.<TABLE_NAME>")
.load())
pushdown_df.show(5)
SQLSERVER ではなく AZURE_SQLSERVER を使用する1433 を使用する。ホスト名は完全修飾形式 *.database.windows.net で指定するdbo です。database.name はAzure SQLのデータベース名を指定するaidp-azuresql — Azure SQL Database via AIDP aidataplatformUse the dedicated Azure SQL connector type, AZURE_SQLSERVER. It supports ingestion reads and writes, external-catalog access, catalog.id, and SQL pushdown.
database.windows.net.aidp-sqlserver.aidp-azure-adls.import os
from oracle_ai_data_platform_connectors.aidataplatform import (
AIDP_FORMAT, aidataplatform_options,
)
opts = aidataplatform_options(
type="AZURE_SQLSERVER",
host=os.environ["AZURE_SQL_HOST"],
port=int(os.environ.get("AZURE_SQL_PORT", "1433")),
database_name=os.environ["AZURE_SQL_DATABASE"],
user=os.environ["AZURE_SQL_USER"],
password=os.environ["AZURE_SQL_PASSWORD"],
schema=os.environ.get("AZURE_SQL_SCHEMA", "dbo"),
table=os.environ["AZURE_SQL_TABLE"],
)
df = spark.read.format(AIDP_FORMAT).options(**opts).load()
df.show(5)
CREATE, APPEND, OVERWRITE, and MERGE are supported. write.merge.keys is required for MERGE.
write_opts = aidataplatform_options(
type="AZURE_SQLSERVER",
host=os.environ["AZURE_SQL_HOST"],
port=int(os.environ.get("AZURE_SQL_PORT", "1433")),
database_name=os.environ["AZURE_SQL_DATABASE"],
user=os.environ["AZURE_SQL_USER"],
password=os.environ["AZURE_SQL_PASSWORD"],
schema=os.environ.get("AZURE_SQL_SCHEMA", "dbo"),
table=os.environ["AZURE_SQL_TARGET_TABLE"],
extra={"write.mode": "CREATE"},
)
df.write.format(AIDP_FORMAT).options(**write_opts).save()
catalog.idCreate an Azure SQL external catalog in Master Catalogs first. Use a three-part name for catalog reads and writes, or catalog.id to reuse its saved connection.
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.write.format(AIDP_FORMAT) \
.option("catalog.id", "<CATALOG_ID>") \
.option("schema", "<SCHEMA>") \
.option("table", "<TARGET_TABLE_NAME>") \
.option("write.mode", "APPEND") \
.save()
pushdown_df = (spark.read.format(AIDP_FORMAT)
.options(**opts)
.option("pushdown.sql", "SELECT TOP 10 * FROM <SCHEMA>.<TABLE_NAME>")
.load())
pushdown_df.show(5)
AZURE_SQLSERVER, not SQLSERVER, for Azure SQL Database.1433; pass the fully-qualified *.database.windows.net host.schema is usually dbo; database.name is the Azure SQL database.原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。