データのエクスポート

Azure のさまざまな形式のクラウドベースストレージ (テーブル、blob、Azure SQL データベースなど) にデータセットを書き込みます。

Category: データの入力と出力

注意

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

このコンテンツは、Studio (クラシック) のみに関連しています。 Azure Machine Learning デザイナーに同様のドラッグアンドドロップモジュールが追加されました。 この記事では、2つのバージョンの比較について詳しく説明します。

モジュールの概要

この記事では、Azure Machine Learning Studio (クラシック) の データのエクスポート モジュールを使用して、実験からの結果、中間データ、および作業データを、Azure Machine Learning Studio (クラシック) の外部のクラウドストレージの宛先に保存する方法について説明します。

このモジュールは、次のクラウド データ サービスにデータをエクスポートまたは保存する作業を支援します。

  • Hive クエリへのエクスポート: HDInsight Hadoop クラスターの hive テーブルにデータを書き込みます。

  • Azure SQL Database へのエクスポート: Azure SQL Database または Azure SQL Data Warehouse にデータを保存します。

  • Azure テーブルへのエクスポート: azure のテーブルストレージサービスにデータを保存します。 テーブルストレージは、大量のデータを格納する場合に適しています。 拡張性、安価、高可用性を備えた表形式を提供します。

  • Azure Blob Storage へのエクスポート: Azure の Blob service にデータを保存します。 このオプションは、画像、非構造化テキスト、またはバイナリ データを扱う場合に便利です。 Blob service 内のデータは、パブリックに共有したり、セキュリティで保護されたアプリケーション データ ストアに保存したりすることができます。

注意

[データのエクスポート] モジュールは、[安全な転送が必要] オプションが有効になっている場合、Azure Blob ストレージアカウントへの接続をサポートしません。

  • データのダウンロード: データをダウンロードして Excel または他のアプリケーションで開くことができるようにするには、 CSV への変換TSV への変換 などのモジュールを使用して、データを特定の形式で準備し、データをダウンロードします。

  • データセットを出力する任意のモジュールの結果をダウンロードするには、出力を右クリックし、[ データセットのダウンロード] を選択します。 既定では、データは CSV 形式でエクスポートされます。

  • モジュール定義または実験グラフをダウンロードします。 新しい PowerShell ライブラリを使用して、実験の完全なメタデータまたは特定のモジュールの詳細をダウンロードできます。 Azure Machine Learning ライブラリ用の PowerShell は試験的なリリースですが、多くの便利なコマンドレットがあります。

    • Get-AmlExperiment ワークスペース内のすべての実験を一覧表示します。

    • Export-AmlExperimentGraph 完全な実験の定義を JSON ファイルにエクスポートします。

    • Download-AmlExperimentNodeOutput では、任意のモジュールの出力ポートで指定された情報を抽出できます。

      詳細については、「 Azure Machine Learning Studio 用 PowerShell モジュール (クラシック)」を参照してください。

データのエクスポートを構成する方法

  1. Studio (クラシック) で、 データのエクスポート モジュールを実験に追加します。 このモジュールは、 [Input and Output](入力と出力) カテゴリにあります。

  2. エクスポートするデータが含まれているモジュールに データをエクスポート します。

  3. [Export Data](データのエクスポート) をダブルクリックして [Properties](プロパティ) ウィンドウを開きます。

  4. [Data destination](データのエクスポート先) で、データの保存先となるクラウド ストレージの種類を選択します。 このオプションに変更を加えた場合、他のプロパティはすべてリセットされます。 したがって、このオプションは必ず最初に選択してください。

  5. 指定したストレージ アカウントへのアクセスに必要なアカウント名と認証方法を入力します。

    ストレージの種類とアカウントがセキュリティで保護されているかどうかに応じて、アカウント名、ファイルの種類、アクセスキー、またはコンテナー名の入力が必要になる場合があります。 認証を必要としないソースの場合は、通常、URL を把握しておくだけで十分です。

    各型の例については、次のトピックを参照してください。

  6. [キャッシュされた 結果を使用 する] オプションを使用すると、毎回同じ結果を書き直すことなく、実験を繰り返すことができます。

    このオプションの選択を解除すると、出力データが変更されたかどうかに関係なく、実験が実行されるたびに結果がストレージに書き込まれます。

    このオプションを選択すると、使用可能な場合は、 データのエクスポート によってキャッシュデータが使用されます。 結果に影響を与えるアップストリームの変更がある場合にのみ、新しい結果が生成されます。

  7. 実験を実行します。

データのエクスポートモジュールを使用する方法の例については、 Azure AI Galleryを参照してください。

  • テキスト分類: このサンプルでは、 データのエクスポート を使用して中間結果を保存した後、データのインポートを使用して、実験の後の手順でストレージから データ を取得します。

  • 小売予測手順 1/6-データ前処理: 小売予測テンプレートは、Azure SQL Database に格納されているデータに基づく機械学習タスクを示しています。 ここでは、machine learning 用に Azure SQL database を作成する方法、Azure SQL database を使用してさまざまなアカウントの実験間でデータセットを渡す方法、予測を保存および結合する方法など、いくつかの便利な手法を示します。

  • AZURE vm で SQL Server を使用した機械学習モデルの構築とデプロイ: この記事では、azure vm でホストされている SQL Server データベースを、トレーニングデータと実験によって生成された予測を格納するためのソースとして使用する方法について説明します。 また、機能エンジニアリングと機能の選択にリレーショナルデータベースを使用する方法についても説明します。

  • Azure SQL Data Warehouse で AZURE ML を使用する方法: この記事では、Azure SQL Data Warehouse でデータを使用して機械学習モデルを作成する方法について説明します。

テクニカル ノート

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

ヒント

データの格納方法や場所がわからない場合は、 データサイエンスプロセスの一般的なデータシナリオについては、「 Azure Machine Learning での高度な分析のシナリオ」を参照してください。

実装の詳細

  • このモジュールは既に Writer と呼ばれていました。 ライター モジュールを使用する既存の実験がある場合、実験を更新すると、モジュールの名前が変更されて データがエクスポートされます。

  • すべてのモジュールで、 データのエクスポート 先と互換性のある出力が生成されるわけではありません。 たとえば、 データのエクスポート によって、SVMLight 形式に変換されたデータセットを保存することはできません。 データのエクスポート では、次の形式がサポートされます。

    • データセット (Azure ML 内部形式)
    • .NET DataTable
    • ヘッダーの有無に関係なく CSV
    • ヘッダーの有無に関係なく TSV

既知の問題

  • データを出力する場所として Azure Table を選択すると、指定されたテーブルへの書き込み時にエラーが発生することがあります。 この場合、データが blob に書き込まれる可能性があります。

    このエラーが発生し、後で必要なテーブルから読み取ることができない場合は、Azure storage ユーティリティを使用して、ストレージアカウント内の指定されたコンテナー内の blob を確認してみてください。

  • 現時点では、指定された Hive テーブルに blob を保存することはできません。 中間結果を書き込む必要がある場合は、HDInsight で Hive テーブルを使用しないでください。代わりに、blob storage または table storage を使用してください。

  • 現時点では、出力データを保存する場所として HDFS を選択すると、次のエラーメッセージが返されます。 "Microsoft. Analytics. 例外. ErrorMapping + ModuleException"

想定される入力

名前 Type 説明
データセット データ テーブル 書き込まれるデータセットです。

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

次の表に、すべての エクスポートデータ オプションに適用されるパラメーターの一覧を示します。 その他のパラメーターは、選択したデータの変換先に応じて動的に変更されます。

名前 Range Type Default 説明
データの宛先を指定してください。 List DataSourceOrSink Azure Storage の BLOB サービス データの変換先が、 Blob service内のファイル、 Table service内のファイル、Azure 内の SQL データベースHive テーブルのいずれであるかを示します。
キャッシュされた結果の使用 TRUE または FALSE Boolean false このオプションを選択すると、不要になった結果の再書き込みを回避できます。 実験の上流に何らかの変更が加えられた場合、 データのエクスポート では常に新しい結果が実行され、書き込まれます。 ただし、何も変更されていない場合にこのオプションを選択すると、同じ結果が再書き込みされないように、 エクスポートデータ は実行されません。

例外

例外 説明
エラー 0057 既に存在するファイルや BLOB を作成しようとすると、例外が発生します。
エラー 0001 データセットで 1 つ以上の指定した列が見つからない場合に、例外が発生します。
エラー 0027 同じサイズにする必要がある 2 つのオブジェクトのサイズが異なる場合に、例外が発生します。
エラー 0079 Azure Storage 内のコンテナー名が正しく指定されていない場合に、例外が発生します。
エラー 0052 Azure アカウントのストレージ アクセス キーが正しく指定されていない場合に、例外が発生します。
エラー 0064 Azure アカウントのアカウント名またはストレージ アクセス キーが正しく指定されていない場合に、例外が発生します。
エラー 0071 入力された資格情報が正しくない場合に、例外が発生します。
エラー 0018 入力データセットが有効でない場合に、例外が発生します。
エラー 0029 無効な URI が渡された場合に、例外が発生します。
エラー 0003 1 つ以上の入力が null または空の場合に、例外が発生します。

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

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

関連項目

データのインポート
データの入力と出力
データ変換
Azure Table Storage と Azure SQL Database の比較
モジュールの一覧 (アルファベット順)