Azure テーブルからのインポート

重要

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 テーブルから機械学習実験にインポートする方法について説明します。

注意

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

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

Azure Table Service は、大量の構造化された非リレーショナル データを格納できる Azure のデータ管理サービスです。 これは、Azure の内部および外部からの認証された呼び出しを受け入れる NoSQL データ ストアです。

Azure Table Storage からインポートするには、SAS URL を使用してアクセスできるストレージ アカウントと、ログイン資格情報を必要とするプライベート ストレージ アカウントの 2 種類のいずれかを選択する必要があります。

Azure テーブルからデータをインポートする方法

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

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

  1. データのインポート モジュールを実験に追加します。 モジュールは、[データの入力と 出力] の下に表示されます

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

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

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

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

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

  1. データのインポート モジュールを実験に追加します。 このモジュールは、Machine Learning Studio (クラシック) の実験項目一覧の [データ入力と出力] グループで確認できます。

  2. [データ ソース] で[ Azure テーブル] を選択します

  3. 情報がパブリック データ ソースとして提供されていることがわかっている場合は、[認証の種類][パブリック (SAS URL)] を選択します。 SAS URL は、Azure Storage ユーティリティを使用して生成できるタイム バインド アクセス URL です。

    それ以外の場合は、[アカウント] を選択します。

  4. SAS URL を使用してアクセスできるパブリック BLOB にデータが存在する場合、ダウンロードと認証に必要な情報はすべて URL 文字列に含まれているため、それ以外の資格情報は必要ありません。

    [ テーブル SAS URI] フィールド に、アカウントとパブリック BLOB を定義する完全な URI を入力するか貼り付けます。

    注意

    SAS URL を使用してアクセスできるページでは、CSV、TSV、ARFF の形式のみを使用してデータを格納できます。

  5. データがプライベート アカウントに存在する場合は、アカウント名とキーを含んだ資格情報を指定する必要があります。

    • [ テーブル アカウント名] に、アクセスする BLOB を含むアカウントの名前を入力するか貼り付けます。

      たとえば、ストレージ アカウントの完全 URL が https://myshared.table.core.windows.net であれば、「myshared」と入力します。

    • [ テーブル アカウント キー] に、ストレージ アカウントに関連付けられているアクセス キーを貼り付けます。

      アクセス キーが分からない場合は、この記事の「ストレージ アクセス キーを表示、コピー、再生成する」セクションを参照してください。 Azure Storage アカウントについて。

    • [ テーブル名] に、読み取る特定のテーブルの名前を入力します。

  6. [データのインポート] でスキャンする行の数 を示すオプションを 選択します。 データの インポートでは、スキャンを使用してデータ内の列の一覧を取得し、列のデータ型を決定します。

    • TopN: データセットの上部から、指定された行数だけスキャンします。

      既定では、10 行がスキャンされますが、 [ TopN の行数] オプションを使用して、その値を増減できます。

      データが同種で予測可能な場合は、 TopN を選択し、N の数値を入力します。大きなテーブルの場合、読み取り時間が短縮される可能性があります。

    • ScanAll: テーブル内のすべての行をスキャンします。

      データを構成する一連のプロパティが、テーブルの深さと位置によって異なる場合は、ScanAll オプションを選択してすべての行をスキャンしてください。 これによって、プロパティとメタデータの変換結果に整合性を確保することができます。

  7. 実験を実行するごとにデータを更新するかどうかを指定します。 [キャッシュされた結果を使用する] オプション (既定値) を選択した場合、データのインポート モジュールは、実験の初回実行時に指定したソースからデータを読み取り、その後結果をキャッシュします。 データのインポート モジュールのパラメーターに変更がある場合は、データが再読み込みされます。

    このオプションをオフにすると、データが同じかどうかに関係なく、実験が実行されるごとにソースからデータが読み取されます。

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

テクニカル ノート

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

一般的な質問

同じデータを不必要に再読み込みしないようにする方法

ソース データが変更された場合は、データのインポートを再び実行することで、データセットを更新し、新しいデータ を追加できます。 ただし、実験を実行するたびにソースから再び読み込むことを望まない場合、[Use cached results]\(キャッシュされた結果を使用する\) オプションを TRUE に設定します。 このオプションが TRUE に設定されている場合、モジュールは、実験が以前に同じソースと同じ入力オプションを使用して実行されているかどうかを確認し、以前の実行が見つかった場合は、ソースからデータを再読み込みするのではなく、キャッシュ内のデータが使用されます。

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

データ のインポート モジュール では、データの読み取り中のフィルター処理はサポートされていません。 例外はデータ フィードからの読み取りです。フィード URL の一部としてフィルター条件を指定できる場合があります。

ただし、Machine Learning Studio (クラシック) に読み込んだ後でデータを変更またはフィルター処理できます。

  • カスタム R スクリプトを使用して、データを変更またはフィルター処理します。
  • 相対式 または正規表現 を使用してデータの分割モジュールを使用して、必要なデータを分離し、データセットとして保存します。

注意

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

データのインポート では、さまざまな 地理的リージョンから読み込まれたデータがどのように処理されますか?

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

テーブル内の一部の文字が正しく表示されない理由

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

インポート中に変更される禁止文字または文字はありますか?

属性データに引用符またはエスケープ文字のシーケンスが含まれている場合、Microsoft Excel でのこのような文字の規則を使用して処理されます。 その他のすべての文字は、ガイドラインとして次の仕様を使用して処理されます: RFC 4180

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

名前 Range Type Default Default
データ ソース 一覧 データ ソースまたはシンク Azure Blob Storage データ ソースには、HTTP、FTP、匿名 HTTPS または FTPS、Azure BLOB ストレージ内のファイル、Azure テーブル、Azure SQL Database、オンプレミスの SQL Server データベース、Hive テーブル、または OData エンドポイントがあります。
認証の種類 PublicOrSas

Account
tableAuthType Account データが SAS URL 経由でアクセスできるパブリック コンテナー内にあるか、アクセスに認証が必要なプライベート ストレージ アカウント内にあるかを指定します。

パブリックまたは SAS - パブリック ストレージ オプション

名前 Range Type Default 説明
テーブルの URI any String
SAS を介してプロパティ名をスキャンする行 整数 (integer)
SAS を介した TopN の行の数

アカウント - プライベート ストレージ オプション

名前 Range Type Default 説明
テーブルのアカウント名
テーブルのアカウント キー any SecureString
テーブル名 any
プロパティ名をスキャンする行 TopN

ScanAll
TopN の行の数 any 整数 (integer)

出力

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

例外

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

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

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

こちらもご覧ください

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