データ資産をインポートする (プレビュー)
適用対象:Azure CLI ML 拡張機能 v2 (現行)
Python SDK azure-ai-ml v2 (現行)
この記事では、外部ソースから Azure Machine Learning プラットフォームにデータをインポートする方法について説明します。 データが正常にインポートされると、そのインポート時に指定された名前で Azure Machine Learning データ資産が自動的に作成され、登録されます。 Azure Machine Learning データ資産は、Web ブラウザーのブックマーク (お気に入り) に似ています。 最も頻繁に使用されるデータを指す長いストレージ パス (URI) を覚える必要はありません。 代わりに、データ資産を作成し、フレンドリ名を使用してその資産にアクセスできます。
データ インポートでは、Azure Machine Learning トレーニング ジョブでのデータ アクセスの高速化と信頼性の向上のために、ソース データのキャッシュとメタデータが作成されます。 データ キャッシュにより、ネットワークと接続の制約が回避されます。 キャッシュされたデータは、再現性をサポートするためにバージョン管理されます。 これにより、SQL Server ソースからインポートされたデータのバージョン管理機能が得られます。 さらに、キャッシュされたデータにより、タスクを監査するためのデータ系列が提供されます。 データ インポートでは、バックグラウンドで ADF (Azure Data Factory のパイプライン) が使用されます。したがって、ユーザーは ADF との複雑な対話処理を回避できます。 Azure Machine Learning では、ADF コンピューティング リソース プールのサイズの管理、コンピューティング リソースのプロビジョニング、破棄がバックグランドで処理され、適切な並列化の特定によりデータ転送が最適化されます。
転送されたデータはパーティション分割され、Azure Storage に Parquet ファイルとして安全に格納されます。 これにより、トレーニング中の処理が高速になります。 ADF コンピューティング コストには、データ転送に使用される時間のみが含まれます。 キャッシュされたデータは外部ソースからインポートされたデータのコピーであるため、ストレージ コストにはデータのキャッシュに必要な時間のみが含まれます。 Azure Storage によって、その外部ソースがホストされます。
キャッシュ機能には、前払いのコンピューティング コストとストレージ コストが含まれます。 しかしながら、トレーニング中に外部ソース データに直接接続する場合と比較して、トレーニングのコンピューティング コストが繰り返し発生することが減少するため、元が取れ、費用を節約できます。 データは Parquet ファイルとしてキャッシュされるため、より大きなデータ セットの接続タイムアウトに対するジョブ トレーニングの速度と信頼性が向上します。 これにより、再実行が減り、トレーニングの失敗が少なくなります。
Amazon S3、Azure SQL、Snowflake からデータをインポートできます。
重要
現在、この機能はパブリック プレビュー段階にあります。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されており、運用環境のワークロードに使用することは推奨されません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。
詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
前提条件
データ資産を作成して操作するには、以下が必要です。
Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。 無料版または有料版の Azure Machine Learning をお試しください。
Azure Machine Learning ワークスペース。 ワークスペース リソースの作成.
Note
データを正常にインポートするには、SDK 用の最新の azure-ai-ml パッケージ (バージョン 1.15.0 以降) と ml 拡張機能 (バージョン 2.15.1 以降) がインストールされていることを確認してください。
以前の SDK パッケージまたは CLI 拡張機能がある場合は、以前のものを削除し、タブ セクションに表示されているコードを使用して新しいものをインストールしてください。 次に示す SDK および CLI 向けの手順に従います。
コードのバージョン
- Azure CLI
- Python SDK
-
[ スタジオ](#tab/azure-studio)
az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.15.1 or later)
外部データベースから mltable データ資産としてインポートする
注意
外部データベースには、Snowflake、Azure SQL などの形式を使用できます。
次のコード サンプルでは、外部データベースからデータをインポートできます。 インポート アクションを処理する は connection
により、外部データベースのデータソース メタデータが判別されます。 このサンプルでは、Snowflake リソースからデータをインポートします。 接続は Snowflake ソースを指します。 少し変更すると、接続は Azure SQL データベース ソースと Azure SQL データベース ソースを指すことができます。 外部データベース ソースからインポートされた資産 type
は mltable
です。
- Azure CLI
- Python SDK
-
[ スタジオ](#tab/azure-studio)
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
値が必要です。 外部ファイル システム ソースからインポートされた資産値には uri_folder
の type
があります。
次のコード サンプルでは、Amazon S3 リソースからデータをインポートします。
- Azure CLI
- Python SDK
-
[ スタジオ](#tab/azure-studio)
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 service が外部データ ソースに接続するまでに数分かかる場合があります。 その後、サービスによってデータのインポートが開始され、データのキャッシュと登録が処理されます。 データのインポートに必要な時間は、ソース データ セットのサイズによっても異なります。
次の例では、送信されたデータ インポート アクティビティの状態を返します。 このコマンドまたはメソッドでは、入力として "データ資産" 名を使用して、データ具体化の状態を確認します。
- Azure CLI
- Python SDK
-
[ スタジオ](#tab/azure-studio)
> az ml data list-materialization-status --name <name>
次のステップ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示