次の方法で共有


データ資産をインポートする (プレビュー)

適用対象:Azure CLI ml 拡張機能 v2 (現行)Python SDK azure-ai-ml v2 (現行)

Warnung

Azure Machine Learning の外部ソース (プレビュー)データ接続 (プレビュー) からのデータのインポートは非推奨となり、2026 年 9 月 30 日以降は使用できません。 それまでは、中断することなくこれらの機能を引き続き使用できます。 その日を過ぎると、それらに依存するすべてのワークロードが中断されます。

推奨されるアクション: 外部データインポートを Microsoft Fabric に移行し、Azure Machine Learning データストアを使用して Azure Machine Learning でデータを使用できるようにします。

この記事では、外部ソースから Azure Machine Learning プラットフォームにデータをインポートする方法について説明します。 データのインポートが成功すると、Azure Machine Learning データ資産が自動的に作成され、そのインポート時に指定した名前で登録されます。 Azure Machine Learning データ資産は、Web ブラウザーのブックマーク (お気に入り) に似ています。 最も頻繁に使用されるデータを指す長いストレージ パス (URI) を覚える必要はありません。 代わりに、データ資産を作成し、フレンドリ名を使用してその資産にアクセスできます。

データインポートでは、Azure Machine Learning トレーニング ジョブでのデータ アクセスを高速化し、信頼性を高めるために、ソース データのキャッシュとメタデータが作成されます。 データ キャッシュにより、ネットワークと接続の制約が回避されます。 キャッシュされたデータは、再現性をサポートするためにバージョン管理されます。 この機能は、SQL Server ソースからインポートされたデータのバージョン管理機能を提供します。 さらに、キャッシュされたデータにより、タスクを監査するためのデータ系列が提供されます。 データインポートでは、バックグラウンドで Azure Data Factory (ADF) パイプラインが使用されるため、ADF との複雑な対話を回避できます。 Azure Machine Learning では、ADF コンピューティング リソース プールのサイズ、コンピューティング リソースのプロビジョニング、破棄の管理も処理されます。 この管理は、適切な並列化を決定することでデータ転送を最適化します。

転送されたデータはパーティション分割され、Azure Storage に Parquet ファイルとして安全に格納されます。 このストレージにより、トレーニング中の処理が高速化されます。 ADF コンピューティング コストには、データ転送に使用される時間のみが含まれます。 キャッシュされたデータは外部ソースからインポートされたデータのコピーであるため、ストレージ コストにはデータのキャッシュに必要な時間のみが含まれます。 Azure Storage によって、その外部ソースがホストされます。

キャッシュ機能には、前払いのコンピューティング コストとストレージ コストが含まれます。 しかしながら、トレーニング中に外部ソース データに直接接続する場合と比較して、トレーニングのコンピューティング コストが繰り返し発生することが減少するため、元が取れ、費用を節約できます。 データは Parquet ファイルとしてキャッシュされるため、より大きなデータ セットの接続タイムアウトに対するジョブ トレーニングの速度と信頼性が向上します。 このキャッシュにより、再実行が少なく、トレーニングの失敗も少なくなります。

Amazon S3、Azure SQL、Snowflake からデータをインポートできます。

重要

現在、この機能はパブリック プレビュー段階にあります。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されており、運用環境のワークロードに使用することは推奨されません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。

詳しくは、「Microsoft Azure プレビューの追加使用条件」をご覧ください。

前提条件

データ資産を作成して操作するには、以下が必要です。

データのインポートを成功させるには、SDK 用の最新の azure-ai-ml パッケージ (バージョン 1.31.0 以降) と ml 拡張機能 (バージョン 2.37.0 以降) がインストールされていることを確認します。 Python 3.9 以降が必要です。

古い SDK パッケージまたは CLI 拡張機能がある場合は、タブ セクションに示されているコードを使用して、古いパッケージを削除し、新しいパッケージをインストールします。 次に示す SDK および CLI 向けの手順に従ってください。

コードのバージョン

az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.37.0 or later)

mltable データ資産として外部データベースからインポートする

外部データベースには、Snowflake と Azure SQL が含まれます。

次のコード サンプルでは、外部データベースからデータをインポートできます。 インポート アクションを処理する は connection により、外部データベースのデータソース メタデータが判別されます。 このサンプルでは、Snowflake リソースからデータをインポートします。 接続は Snowflake ソースを指します。 少し変更すると、接続は Azure SQL データベース ソースまたはサポートされている別のデータベース ソースを指すことができます。 外部データベース ソースからインポートされた資産 typemltable です。

YAML ファイル <file-name>.yml を作成します。

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# Datastore: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: mltable
name: <name>
source:
  type: database
  query: <query>
  connection: <connection>
path: <path>

次に、CLI で次のコマンドを実行します。

> az ml data import -f <file-name>.yml

外部ファイル システムからフォルダー データ資産としてデータをインポートする

Amazon S3 データ リソースは、外部ファイル システム リソースとして機能できます。

データ インポート アクションを処理する connection により、外部データ ソースの各種側面が特定されます。 接続により、Amazon S3 バケットがターゲットとして定義されます。 接続には有効な path 値が必要です。 外部ファイル システム ソースからインポートされた資産値には typeuri_folder があります。

次のコード サンプルでは、Amazon S3 リソースからデータをインポートします。

YAML ファイル <file-name>.yml を作成します。

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# path: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: uri_folder
name: <name>
source:
  type: file_system
  path: <path_on_source>
  connection: <connection>
path: <path>

次に、CLI で次のコマンドを実行します。

> az ml data import -f <file-name>.yml

外部データ ソースのインポート状態を確認する

データ インポート アクションは非同期アクションです。 これには、長い時間がかかる場合があります。 CLI または SDK を使用してデータのインポート アクションを送信した後、Azure Machine Learning サービスが外部データ ソースに接続するために数分かかる場合があります。 次に、サービスはデータのインポートを開始し、データのキャッシュと登録を処理します。 データのインポートに必要な時間は、ソース データ セットのサイズによっても異なります。

次の例では、送信されたデータ インポート アクティビティの状態を返します。 コマンドまたはメソッドは、データ資産名を入力として使用して、データ具体化の状態を決定します。

> az ml data list-materialization-status --name <name>

次のステップ