Hive クエリへのエクスポート

重要

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 デザイナーで使用できます。

この記事では、Machine Learning Studio (クラシック) のデータのエクスポートモジュールで [ Hive にデータをエクスポート] オプションを使用する方法について説明します。 このオプションは、非常に大規模なデータセットを操作していて、machine learning の実験データを Hadoop クラスターまたは HDInsight 分散ストレージに保存する場合に便利です。 また、中間結果やその他のデータを Hadoop にエクスポートして、MapReduce ジョブを使用して処理できるようにすることもできます。

Hive にデータをエクスポートする方法

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

    エクスポートするデータセットにモジュールを Connect します。

  2. [ データソース] で [ Hive クエリ] を選択します。

  3. [ Hive テーブル名 には、データセットを格納する hive テーブルの名前を入力します。

  4. [ Hcatalog サーバー URI ] テキストボックスに、クラスターの完全修飾名を入力します。

    たとえば、という名前 mycluster001 のクラスターを作成した場合は、次の形式を使用します。

    https://mycluster001.azurehdinsight.net

  5. [ Hadoop ユーザーアカウント名 ] テキストボックスに、クラスターをプロビジョニングしたときに使用した hadoop ユーザーアカウントを貼り付けます。

  6. [ Hadoop ユーザーアカウントのパスワード ] テキストボックスに、クラスターをプロビジョニングしたときに使用した資格情報を入力します。

  7. 出力データの場所として、データの格納場所 (HDFS または Azure) を示すオプションを選択します。

    データが Hadoop 分散ファイルシステム (HDFS) にある場合は、入力したものと同じアカウントとパスワードを使用してアクセスできる必要があります。

    データが Azure にある場合は、ストレージアカウントの場所と資格情報を指定します。

  8. Hdfs オプションを選択した場合は、[ HDFS サーバーの URI] で、プレフィックスなし https:// の HDInsight クラスター名を指定します。

  9. [ Azure ] オプションを選択した場合は、ストレージアカウント名と、モジュールがストレージに接続するために使用できる資格情報を指定します。

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

    • Azure storage キー: ストレージアカウントにアクセスするために用意されているキーをコピーして貼り付けます。

    • Azure container name: クラスターの 既定のコンテナー を指定します。 既定のコンテナーを確認するためのヒントについては、「 テクニカルノート 」を参照してください。

  10. キャッシュされた結果を使用する: 実験を実行するたびに Hive テーブルを書き換えないようにする場合は、このオプションを選択します。 モジュールパラメーターにその他の変更がない場合、実験では、最初にモジュールが実行されたとき、またはデータに変更があったときにのみ Hive テーブルが書き込まれます。

    実験が実行されるたびに Hive テーブルを作成する場合は、[キャッシュされた 結果を使用 する] オプションの選択を解除します。

  11. 実験を実行します。

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

テクニカル ノート

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

一般的な質問

大規模なデータセットを書き込むときにメモリ不足の問題を回避する方法

Hadoop クラスターの既定の構成は、MapReduce ジョブの実行をサポートするために制限されている場合があります。 たとえば、HDInsight のこれらの リリースノート では、既定の設定は4ノードクラスターとして定義されています。

MapReduce ジョブの要件が使用可能な容量を超えた場合、Hive クエリからメモリ不足のエラーメッセージが返され、データのエクスポート操作が失敗する可能性があります。 これが発生した場合は、Hive クエリの既定のメモリ割り当てを変更できます。

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

実験を実行するたびに Hive テーブルを再作成しない場合は、[キャッシュされた 結果を使用 する] オプションを TRUE に設定します。 このオプションが TRUE に設定されている場合、モジュールは実験が既に実行されているかどうかを確認します。前の実行が検出された場合、書き込み操作は実行されません。

使用上のヒント

クラスターの既定のコンテナーを確認するのは難しい場合があります。 いくつかのヒントを次に示します。

  • 既定の設定を使用してクラスターを作成した場合は、クラスターの作成時に同じ名前のコンテナーが作成されます。 このコンテナーは、クラスターの既定のコンテナーです。

  • [ カスタム作成 ] オプションを使用してクラスターを作成した場合は、既定のコンテナーを選択するための2つのオプションが表示されていました。

    既存のコンテナー: 既存のコンテナーを選択した場合は、そのコンテナーがクラスターの既定のストレージコンテナーになります。

    既定のコンテナーを作成する: このオプションを選択した場合、クラスターと同じ名前のコンテナーが作成されます。そのコンテナー名をクラスターの既定のコンテナーとして指定する必要があります。

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

名前 Range Type Default 説明
データ ソース 一覧 データソースまたはシンク Azure Blob Storage データ ソースには HTTP、FTP、匿名の HTTPS または FTPS、Azure BLOB ストレージ内のファイル、Azure テーブル、Azure SQL データベース、Hive テーブルまたは OData エンドポイントを指定できます。
Hive テーブルの名前 any String なし Hive 内のテーブルの名前
HCatalog サーバーの URI any String なし エンドポイント
Hadoop ユーザーアカウント名 any String なし Hadoop HDFS/HDInsight ユーザー名
Hadoop ユーザーアカウントのパスワード any SecureString なし Hadoop HDFS/HDInsight パスワード
出力データの場所 any DataLocation HDFS OutputDir に HDFS または Azure を指定する
HDFS サーバーの URI any String なし HDFS Rest エンドポイント
Azure ストレージ アカウント名 any String なし Azure ストレージ アカウント名
Azure ストレージ キー any SecureString なし Azure ストレージ キー
Azure コンテナー名 any String なし Azure コンテナー名
キャッシュされた結果を使用する TRUE または FALSE Boolean FALSE モジュールは、有効なキャッシュが存在しない場合にのみ実行されます。それ以外の場合は、前の実行からキャッシュされたデータを使用します。

例外

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

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

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

こちらもご覧ください

データのインポート
データのエクスポート
Azure SQL Database へのエクスポート
Azure Blob Storage にエクスポートする
Azure Table へのエクスポート