すべてのプロダクト
Search
ドキュメントセンター

DataWorks:EMR Hive ノードの作成

最終更新日:Nov 09, 2025

E-MapReduce (EMR) Hive ノードを作成できます。このノードを使用すると、SQL のようなステートメントを使用して、分散ストレージシステムに保存されている大規模なデータセットを格納するデータウェアハウスの読み取り、書き込み、管理ができます。このノードを使用して、大量のログデータを分析および開発します。

前提条件

  • Alibaba Cloud EMR クラスターが作成され、DataWorks に登録されていること。詳細については、「DataStudio (旧バージョン): EMR コンピュートリソースの関連付け」をご参照ください。

  • (RAM ユーザーを使用してタスクを開発する場合に必要) RAM ユーザーがメンバーとして DataWorks ワークスペースに追加され、[開発者] または [ワークスペース管理者] ロールが割り当てられていること。ワークスペース管理者ロールには必要以上の権限があります。ワークスペース管理者ロールを割り当てる際はご注意ください。メンバーの追加方法の詳細については、「ワークスペースにメンバーを追加する」をご参照ください。

  • サーバーレスリソースグループが購入され、設定されていること。設定には、ワークスペースとの関連付けやネットワーク設定が含まれます。詳細については、「サーバーレスリソースグループの作成と使用」をご参照ください。

  • DataStudio でワークフローが作成されていること。

    さまざまな種類のコンピュートエンジンでの開発操作は、DataStudio のワークフローに基づいて実行されます。したがって、ノードを作成する前に、ワークフローを作成する必要があります。詳細については、「ワークフローの作成」をご参照ください。

制限事項

  • このタイプのノードは、サーバーレスリソースグループまたは専用スケジューリングリソースグループでのみ実行できます。サーバーレスリソースグループを使用することをお勧めします。

  • DataWorks で DataLake またはカスタムクラスターのメタデータを管理する場合は、まずクラスターに EMR-HOOK を設定する必要があります。EMR-HOOK が設定されていない場合、メタデータはリアルタイムで表示できず、監査ログは生成できず、データリネージは DataWorks に表示できません。さらに、EMR ガバナンスタスクは実行できません。EMR-HOOK の設定方法については、「Hive 用に EMR-HOOK を設定する」をご参照ください。

ステップ 1: EMR Hive ノードの作成

  1. DataStudio ページに移動します。

    DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、[データ開発と O&M] > [データ開発] を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発へ] をクリックします。

  2. EMR Hive ノードを作成します。

    1. 対象のワークフローを右クリックし、[ノードの作成] > [EMR] > [EMR Hive] を選択します。

      説明

      または、[作成] にカーソルを合わせ、[ノードの作成] > [EMR] > [EMR Hive] を選択することもできます。

    2. [ノードの作成] ダイアログボックスで、[名前][エンジンインスタンス][ノードタイプ][パス] パラメーターを設定し、[確認] をクリックします。EMR Hive ノードの設定タブが表示されます。

      説明

      ノード名には、大文字、小文字、漢字、数字、アンダースコア (_)、ピリオド (.) を使用できます。

ステップ 2: EMR Hive タスクの開発

EMR Hive ノードの設定ページで、作成したノードをダブルクリックしてタスク開発ページに移動します。次に、開発操作を実行します。

SQL コードの開発

SQL エディターで、ノードコードを開発できます。コードでは、${variable_name} 形式を使用して変数を定義できます。その後、ノード編集ページの右側のナビゲーションバーにある [スケジューリング設定] > [スケジューリングパラメーター] でこれらの変数に値を割り当てることができます。これにより、スケジューリングシナリオでコードにパラメーターを動的に渡すことができます。スケジューリングパラメーターの詳細については、「サポートされているスケジューリングパラメーターの形式」をご参照ください。以下に例を示します。

show tables;
select '${var}'; --var 変数に特定のスケジューリングパラメーターを割り当てることができます。
select * from userinfo ;
説明

(オプション) 詳細パラメーターの設定

[詳細設定] セクションでノード固有のプロパティを設定できます。プロパティパラメーターの詳細については、「Spark の設定」をご参照ください。使用可能な詳細パラメーターは、EMR クラスターのタイプによって異なります。次の表にパラメーターを示します。

DataLake またはカスタムクラスター: EMR on ECS

詳細パラメーター

説明

queue

ジョブがコミットされるスケジューリングキュー。デフォルト値: default。EMR YARN の詳細については、「基本的なキュー設定」をご参照ください。

priority

優先度。デフォルト値は 1 です。

FLOW_SKIP_SQL_ANALYZE

SQL 文の実行に使用されるメソッド。有効な値:

  • true: 1 回の実行で複数の SQL 文を実行します。

  • false (デフォルト): 一度に 1 つの SQL 文を実行します。

説明

このパラメーターは、開発環境でのワークフローのテストにのみ使用できます。

DATAWORKS_SESSION_DISABLE

このパラメーターは、開発環境で直接テストを実行するシナリオに適用されます。有効な値:

  • true: SQL 文が実行されるたびに JDBC 接続が確立されます。

  • false (デフォルト): 単一ノード内で異なる SQL 文が実行される場合、同じ JDBC 接続が再利用されます。

説明

このパラメーターを false に設定すると、Hive の yarn applicationId は出力されません。yarn applicationId を出力したい場合は、このパラメーターを true に設定してください。

その他

詳細設定でカスタムの Hive 接続パラメーターを追加することもできます。

Hadoop クラスター: EMR on ECS

詳細パラメーター

説明

queue

ジョブがコミットされるスケジューリングキュー。デフォルト値: default。EMR YARN の詳細については、「YARN スケジューラ」をご参照ください。

priority

優先度。デフォルト値は 1 です。

FLOW_SKIP_SQL_ANALYZE

SQL 文の実行に使用されるメソッド。有効な値:

  • true: 各実行で複数の SQL 文が実行されます。

  • false (デフォルト): 一度に 1 つの SQL 文のみが実行されます。

説明

このパラメーターは、開発環境でのワークフローのテストにのみ使用できます。

USE_GATEWAY

このノードのジョブをゲートウェイクラスター経由で送信するかどうかを指定します。有効な値:

  • true: ゲートウェイクラスター経由でジョブを送信します。

  • false (デフォルト): ゲートウェイクラスターを使用せずにジョブをコミットします。ジョブは自動的にマスターノードにコミットされます。

説明

このノードが属するクラスターがゲートウェイクラスターに関連付けられておらず、このパラメーターを true に設定した場合、後続の EMR ジョブの送信は失敗します。

SQL タスクの実行

  1. ツールバーで Advanced Run アイコンをクリックします。[パラメーター] ダイアログボックスで、作成したスケジューリングリソースグループを選択し、[実行] をクリックします。

    説明
    • パブリックインターネットまたは VPC 上のコンピュートリソースにアクセスするには、コンピュートリソースとの接続性テストに合格したスケジューリングリソースグループが必要です。詳細については、「ネットワーク接続ソリューション」をご参照ください。

    • タスクのリソースグループを変更するには、[パラメーターを指定して実行]Advanced Run アイコンをクリックし、別のスケジューリングリソースグループを選択します。

    • EMR Hive ノードを使用してデータをクエリする場合、最大 10,000 件のデータレコードを返すことができ、合計データサイズは 10 MB を超えることはできません。

  2. 保存 アイコンをクリックして SQL 文を保存します。

  3. (オプション) スモークテストを実行します。

    開発環境でスモークテストを実行したい場合は、ノードを送信した後に実行できます。詳細については、「スモークテストの実行」をご参照ください。

ステップ 3: スケジューリングプロパティの設定

システムにノード上のタスクを定期的に実行させたい場合は、ノードの設定タブの右側のナビゲーションウィンドウで [プロパティ] をクリックして、ビジネス要件に基づいてタスクのスケジューリングプロパティを設定できます。詳細については、「概要」をご参照ください。

説明

タスクをコミットする前に、[プロパティ] タブで [再実行] および [親ノード] パラメーターを設定する必要があります。

ステップ 4: タスクのデプロイ

ノード上のタスクが設定された後、タスクをコミットしてデプロイする必要があります。タスクをコミットしてデプロイすると、システムはスケジューリング設定に基づいてタスクを定期的に実行します。

  1. 上部のツールバーにある 保存 アイコンをクリックしてタスクを保存します。

  2. 上部のツールバーにある 提交 アイコンをクリックしてタスクをコミットします。

    [送信] ダイアログボックスで、[変更の説明] パラメーターを設定します。次に、ビジネス要件に基づいて、タスクをコミットした後にタスクコードをレビューするかどうかを決定します。

    説明
    • タスクをコミットする前に、[プロパティ] タブで [再実行] および [親ノード] パラメーターを設定する必要があります。

    • コードレビュー機能を使用して、タスクのコード品質を確保し、無効なタスクコードによるタスク実行エラーを防ぐことができます。コードレビュー機能を有効にすると、コミットされたタスクコードは、コードレビューに合格した後にのみデプロイできます。詳細については、「コードレビュー」をご参照ください。

標準モードのワークスペースを使用している場合、タスクをコミットした後に本番環境にタスクをデプロイする必要があります。ノードにタスクをデプロイするには、ノードの設定タブの右上隅にある [デプロイ] をクリックします。詳細については、「ノードのデプロイ」をご参照ください。

次のステップ

タスクをコミットしてデプロイすると、タスクはスケジューリング設定に基づいて定期的に実行されます。対応するノードの設定タブの右上隅にある [オペレーションセンター] をクリックしてオペレーションセンターに移動し、タスクのスケジューリングステータスを表示できます。詳細については、「定期タスクの表示と管理」をご参照ください。

よくある質問

Q: ノードを実行すると接続タイムアウト (ConnectException) が発生するのはなぜですか?

image

A: リソースグループクラスター間のネットワーク接続を確認してください。コンピュートリソースリストページに移動してリソースを初期化します。表示されるダイアログボックスで、[再初期化] をクリックし、初期化が成功したことを確認します。

image

image