次の方法で共有


Azure SQL Database からのインポート

重要

Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。

2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。

ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。

この記事では、Machine Learning Studio (クラシック) でデータのインポート モジュールを使用して、Azure SQL Database または Azure SQL Data Warehouse からデータを取得する方法について説明します。

注意

適用対象: Machine Learning Studio (クラシック) のみ

類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。

データベースからデータをインポートするには、サーバー名とデータベース名の両方を指定し、テーブル、ビュー、またはクエリを定義する SQL ステートメントを指定する必要があります。

一般に、Azure データベースにデータを格納すると、Azure でテーブルや BLOB を使用するよりもコストが高くなります。 また、サブスクリプションの種類によっては、データベースに格納できるデータ量に制限がある場合もあります。 ただし、Azure SQL Database に対するトランザクション料金は発生しないため、このオプションは、データ参照テーブルやデータ ディクショナリなど、頻繁に使用される少量の情報に高速でアクセスするのに最適です。

Azure データベースにデータを格納することは、データを読み取る前にフィルター処理できるようにする必要がある場合や、レポートを作成するために予測やメトリックをデータベースに保存したい場合にも適しています。

データをインポートまたはインポートするAzure SQL Database方法SQL Data Warehouse

データ インポート ウィザードを使用する

このモジュールには、ストレージ オプションを選択し、既存のサブスクリプションとアカウントから選択し、すべてのオプションをすばやく構成するのに役立つ新しいウィザードが備備されています。

  1. データのインポート モジュールを実験に追加します。 モジュールは、Studio (クラシック) の [データの入力と出力] カテゴリで確認 できます。

  2. [データ のインポート ウィザードの起動] をクリック し、画面の指示に従います。

  3. 構成が完了したら、実際に実験にデータをコピーするには、モジュールを右クリックし、選択したファイルの実行 を選択します

既存のデータ接続を編集する必要がある場合は、ウィザードによって以前のすべての構成の詳細が読み込まれるので、最初から再度開始する必要はありません。

データのインポート モジュールのプロパティを手動で設定する

次の手順では、インポート元を手動で構成する方法について説明します。

  1. データのインポート モジュールを実験に追加します。 このモジュールは、Studio (クラシック) の [データの入力と出力] カテゴリ で確認 できます。

  2. [Data source]\(データ ソース\) として [Azure SQL Database] を選択します。

  3. 次のオプションを、Azure SQL Database または Azure SQL Data Warehouse。

    データベース サーバー名: Azure によって生成されるサーバー名を入力します。 通常、<generated_identifier>.database.windows.net の形式になります。

    [データベース名]: 指定したサーバー上の既存のデータベースの名前を入力します。

    サーバー ユーザー アカウント名: データベースのアクセス許可を持つアカウントのユーザー名を入力します。

    サーバー ユーザー アカウントのパスワード: 指定したユーザー アカウントのパスワードを指定します。

    データベース クエリ: 読み取SQLを記述するステートメントを入力または貼り付けます。 Visual Studio サーバー エクスプローラーや SQL Server Data Tools などのツールを使用して、常に SQL ステートメントを検証し、クエリ結果を事前に確認してください。

    注意

    データのインポート モジュールでは、資格情報としてのデータベース名、ユーザー アカウント名、およびパスワードの入力のみをサポートします。

  4. 実験に読み込んだデータセットMachine Learning実験の実行間で変更されない場合は、 [キャッシュされた結果を使用する] オプションを選択します。

    これを選択すると、モジュール パラメーターに他の変更がない場合、実験はモジュールの初回実行時にデータを読み込み、その後、キャッシュされたバージョンのデータセットを使用します。

    実験の各イテレーションでデータセットを再読み込みする場合は、このオプションをオフにします。 データセットは、Import Data (データのインポート) でパラメーターが変更されるたびにソースから再読み込みされます。

  5. 実験を実行します。

    データ のインポートによって データが Studio (クラシック) に読み込まれると、ソース データベースで使用されるデータ型に応じて、一部の暗黙的な型変換が実行される場合があります。

結果

インポートが完了したら、出力データセットをクリックし、[Visualize]\(視覚化\) を選択して、データが正常にインポートされたかどうかを確認します。

必要に応じて、Studio (クラシック) のツールを使用してデータセットとそのメタデータを変更できます。

機械学習で Azure データベースのデータを使用する方法の例については、次の記事と実験を参照してください。

  • 小売予測の手順 1/6 - データの前処理: 小売予測テンプレートは、分析のために Azure SQLDB に格納されているデータを使用する一般的なシナリオを示しています。

    また、Azure SQLDB を使用して異なるアカウントの実験間でデータセットを渡す、予測を保存して組み合わせる、機械学習用の Azure SQLDB を作成する方法など、いくつかの便利な手法も示します。

  • [Machine LearningをSQL Data Warehouseする: この記事では、回帰モデルを作成して、価格を予測する方法を示Azure SQL Data Warehouse。

  • Azure SQL Data Warehouse で Azure ML を使用する方法: この記事では、Azure SQL Data Warehouse でデータのインポートとデータのエクスポートを使用して、AdventureWorks でクラスタリング モデルを構築します。

テクニカル ノート

このセクションには、実装の詳細、ヒント、よく寄せられる質問への回答が含まれています。

一般的な質問

ソースから読み取り中のデータをフィルター処理できますか?

データ のインポート モジュール では、データの読み取り中のフィルター処理はサポートされていません。 ビューを作成するか、必要な行のみを生成するクエリを定義することをお勧めします。

注意

必要以上に多くのデータが読み込まれたことが判明した場合、新しいデータセットを読み取ってから、以前のよりサイズの大きいデータと同じ名前で保存すると、キャッシュ内のデータセットをオーバーライドできます。

"Type Decimal is not supported" (10 進数型はサポートされていません) というエラーが表示される理由

データベースからデータを読み取SQL、サポートされていないデータ型を報告するエラー メッセージが表示されることがあります。

SQL データベースから取得したデータに、Machine Learning でサポートされていないデータ型が含まれる場合は、データを読み取る前に、小数点をキャストするか、サポートされているデータに変換する必要があります。 データのインポート では、精度が失われる変換を自動的に実行することはできません。

サポートされているデータ型の詳細については、「モジュール データ型 」を参照してください

データベースが別の地理的リージョンにある場合は、どうなるか。 データのインポートは引き続きデータベースにアクセスできますか? データの格納場所

データベースが機械学習アカウントとは異なるリージョンにある場合、データ アクセスが遅くなる可能性があります。 さらに、コンピューティング ノードがストレージ アカウントとは異なるリージョンにある場合は、サブスクリプションのデータのイングレスとエグレスに対して課金されます。

実験のためにワークスペースに読み込んだデータは、実験に関連付けられているストレージ アカウントに保存されます。

一部の文字が正しく表示されない理由

Machine Learning UTF-8 エンコードがサポートされています。 データベース内の文字列列で別のエンコードが使用されている場合、文字が正しくインポートされない可能性があります。

1 つのオプションは、Azure Storage の CSV ファイルにデータをエクスポートし、エンコード付き CSV オプションを使用して、カスタム区切り記号やコード ページのパラメーターを指定することです。

モジュールのパラメーター

名前 Range Type Default 説明
データ ソース 一覧 データ ソースまたはシンク Azure Blob Storage データ ソースには、HTTP、FTP、匿名 HTTPS または FTPS、Azure BLOB ストレージ内のファイル、Azure テーブル、Azure SQL Database、オンプレミスの SQL Server データベース、Hive テーブル、または OData エンドポイントがあります。
HDFS サーバーの URI any String なし HDFS Rest エンドポイント
[データベース サーバー名] any String なし Azure ストレージ アカウント名
データベース名 any SecureString なし Azure ストレージ キー
サーバーのユーザー アカウント名 any String なし Azure コンテナー名
サーバーのユーザー アカウント名 リスト (サブセット) Url の内容 OData データの形式の種類
データベース クエリ any String なし データの形式の種類
キャッシュされた結果の使用 TRUE または FALSE Boolean FALSE description

出力

名前 説明
結果のデータセット データ テーブル ダウンロードしたデータを含むデータセット

例外

例外 説明
エラー 0027 同じサイズが必要である 2 つのオブジェクトのサイズが異なる場合に、例外が発生します。
エラー 0003 1 つ以上の入力が null または空の場合に、例外が発生します。
エラー 0029 無効な URI が渡された場合に、例外が発生します。
エラー 0030 ファイルをダウンロードできない場合は例外が発生します。
エラー 0002 1 つ以上のパラメーターが解析できなかった、または指定した型から対象のメソッドの種類で必要な型に変換されなかった場合に、例外が発生します。
エラー 0009 Azure ストレージのアカウント名またはコンテナー名が正しく指定されていない場合、例外が発生します。
エラー 0048 ファイルを開けない場合、例外が発生します。
エラー 0015 データベース接続に失敗した場合に、例外が発生します。
エラー 0046 指定したパスにディレクトリを作成できない場合に、例外が発生します。
エラー 0049 ファイルを解析できない場合、例外が発生します。

Studio (クラシック) モジュール固有のエラーの一覧については、「 Machine Learning エラーコード」を参照してください。

API 例外の一覧については、「 Machine Learning REST API のエラーコード」を参照してください。

こちらもご覧ください

データのインポート
データのエクスポート
HTTP 経由の Web URL からのインポート
Hive クエリからのインポート
Azure Table からのインポート
Azure Blob Storage からのインポート
データ フィード プロバイダーからのインポート
オンプレミスの SQL Server データベースからのインポート