Azure Machine Learning Studio で、機械学習モデルを作成する際のデータセットとして、次のようなデータストアを選択することができるのですが、この中には Synapse Analytics は含まれていません。
SQL Database の論理サーバー内に専用 SQL プール (Dedicated SQL Pool) を使用した場合は、論理サーバーの下に DB が作成されますので、接続のエンドポイントとしては「~.database.windows.net」を使用することができますので、データストアの種類として「Azure SQL Database」を選択しても戸惑うことなくデータストアを作成できるのではないでしょうか。
「手動で入力」を行った場合、エンドポイントで選択ができる DNS サフィックスは「.database.windows.net」「.privatelink.database.windows.net」の 2 種類を選択することができますので、論理サーバー内に作成した専用 SQL Pool の DB を指定することができます。
Synapse ワークスペースに作成した「専用 SQL プール」と「サーバーレス SQL プール」については、エンドポイントとして「~.sql.azuresynapse.net」が使用されます。
投稿を書いている時点では、Azure Machine Learning Studio の SQL Server ベースの環境では、Synapse ワークスペースのエンドポイントを指定することができず、ポータルで確認できる「専用 SQL エンドポイント」「サーバーレス SQL エンドポイント」のエンドポイントを指定することができません。
Synapse で使用できるエンドポイント
Synapse で使用できるエンドポイントですが、実はポータルで確認できるエンドポイント以外も使用することができます。
以下はリソース名は削除していますが、各エンドポイントの DNS レコードを解決したものとなります。
Synapse のエンドポイントですが、専用 SQL プールとサーバーレス SQL プールのエンドポイント名は、「.database.windows.net」「.privatelink.database.windows.net」が含まれるレコードのエイリアスとなっていることが確認できます。
専用 SQL プールとサーバーレス SQL プールですが、「~.sql.azuresynapse.net」だけでなく「~.database.windows.net」でも接続がすることができます。
専用 SQL プールとサーバーレス SQL プールにデータセットで接続をする
Azure Machine Learning Studio のデータセットとして、専用 SQL プール / サーバーレス SQL プールに接続をする場合は、
- データストアの種類 : Azure SQL Database
- サーバー名 : 手動を選択し、専用 SQL プール / サーバーレス SQL プールのリソース名を入力し、エンドポイントとして database.windows.net を指定する
を使用することで、データセットとして接続することができます。
試しにサーバーレス SQL プールの外部テーブルを使用して自動 ML でモデルを作成してみたのですが、外部テーブル経由で作成することができました。
IoT Edge のセンサーデータを ADL Gen2 に JSON で保存し、Azure Synapse Analytics でサーバーレス SQL プールを使用して JSON ファイルのクエリを実行する をの方法で JSON を操作したビューを作成して、データセットではビューを SELECT することでデータの取得を行ってみたところ、ML の入力データとすることできていました。
TDS で操作できる環境については、このような方法で入力にできるかもしれませんので、試してみるとデータ活用の幅が広がるかもしれませんね。(残念ながら Dataverse については、database.windows.net のエンドポイントは持っていなかった気がします)