Hive クエリへのエクスポート
重要
Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。
2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。
- ML Studio (クラシック) から Azure Machine Learning への機械学習プロジェクトの移動に関する情報を参照してください。
- Azure Machine Learning についての詳細を参照してください。
ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。
注意
適用対象: Machine Learning Studio (クラシック)のみ
類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。
この記事では、Machine Learning Studio (クラシック) のデータのエクスポートモジュールで [ Hive にデータをエクスポート] オプションを使用する方法について説明します。 このオプションは、非常に大規模なデータセットを操作していて、machine learning の実験データを Hadoop クラスターまたは HDInsight 分散ストレージに保存する場合に便利です。 また、中間結果やその他のデータを Hadoop にエクスポートして、MapReduce ジョブを使用して処理できるようにすることもできます。
Hive にデータをエクスポートする方法
データの エクスポート モジュールを実験に追加します。 このモジュールは Machine Learning Studio (クラシック) の [データ入力と出力] カテゴリで確認できます。
エクスポートするデータセットにモジュールを Connect します。
[ データソース] で [ Hive クエリ] を選択します。
[ Hive テーブル名 には、データセットを格納する hive テーブルの名前を入力します。
[ Hcatalog サーバー URI ] テキストボックスに、クラスターの完全修飾名を入力します。
たとえば、という名前
mycluster001
のクラスターを作成した場合は、次の形式を使用します。https://mycluster001.azurehdinsight.net
[ Hadoop ユーザーアカウント名 ] テキストボックスに、クラスターをプロビジョニングしたときに使用した hadoop ユーザーアカウントを貼り付けます。
[ Hadoop ユーザーアカウントのパスワード ] テキストボックスに、クラスターをプロビジョニングしたときに使用した資格情報を入力します。
出力データの場所として、データの格納場所 (HDFS または Azure) を示すオプションを選択します。
データが Hadoop 分散ファイルシステム (HDFS) にある場合は、入力したものと同じアカウントとパスワードを使用してアクセスできる必要があります。
データが Azure にある場合は、ストレージアカウントの場所と資格情報を指定します。
Hdfs オプションを選択した場合は、[ HDFS サーバーの URI] で、プレフィックスなし
https://
の HDInsight クラスター名を指定します。[ Azure ] オプションを選択した場合は、ストレージアカウント名と、モジュールがストレージに接続するために使用できる資格情報を指定します。
Azure ストレージアカウント名: azure アカウントの名前を入力します。 たとえば、ストレージ アカウントの完全 URL が
https://myshared.blob.core.windows.net
であれば、「myshared
」と入力します。Azure storage キー: ストレージアカウントにアクセスするために用意されているキーをコピーして貼り付けます。
Azure container name: クラスターの 既定のコンテナー を指定します。 既定のコンテナーを確認するためのヒントについては、「 テクニカルノート 」を参照してください。
キャッシュされた結果を使用する: 実験を実行するたびに Hive テーブルを書き換えないようにする場合は、このオプションを選択します。 モジュールパラメーターにその他の変更がない場合、実験では、最初にモジュールが実行されたとき、またはデータに変更があったときにのみ Hive テーブルが書き込まれます。
実験が実行されるたびに Hive テーブルを作成する場合は、[キャッシュされた 結果を使用 する] オプションの選択を解除します。
実験を実行します。
例
データのエクスポートモジュールを使用する方法の例については、 Azure AI Galleryを参照してください。
- 高度な分析プロセスとテクノロジ: HDInsight Hadoop クラスターの使用: この記事では、Hive を使用してクラスターを作成し、データをアップロードし、Studio (クラシック) からデータを呼び出す方法について詳しく説明します。
テクニカル ノート
このセクションには、実装の詳細、ヒント、よく寄せられる質問への回答が含まれています。
一般的な質問
大規模なデータセットを書き込むときにメモリ不足の問題を回避する方法
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 へのエクスポート