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

DataWorks:EMR Hive ノード

最終更新日:Jun 23, 2026

DataWorks の E-MapReduce (EMR) Hive ノードは、分散システムに保存されている大規模データのバッチ分析をサポートします。このノードは、ビッグデータ処理を簡素化し、開発効率を向上させます。EMR Hive ノードでは、SQL ライクなステートメントを使用して、大規模なデータセットの読み取り、書き込み、管理ができます。これにより、大量のログデータを効率的に分析し、開発作業を完了させることができます。

前提条件

  • Alibaba Cloud E-MapReduce クラスターを作成し、DataWorks に登録します。詳細については、「新しい Data Studio:EMR 計算リソースのアタッチ」をご参照ください。

  • (オプション、RAM ユーザー向け) タスク開発用の Resource Access Management (RAM) ユーザーをワークスペースに追加し、Development ロールまたは スペース管理者 ロール (このロールには広範な権限が含まれるため、慎重に付与する必要があります) を割り当てる必要があります。詳細については、「ワークスペースへのメンバー追加」をご参照ください。

    ルートアカウントを使用している場合は、このステップをスキップしてください。
  • DataWorks で Hive データソースを設定し、接続性テストに合格することを確認します。詳細については、「データソース管理」をご参照ください。

制限事項

  • このタイプのタスクは、サーバーレスリソースグループ (推奨) またはスケジューリング専用リソースグループでのみ実行できます。

  • DataWorks で DataLake またはカスタムクラスターのメタデータを管理するには、まずクラスターで EMR-HOOK を設定する必要があります。EMR-HOOK の設定方法の詳細については、「Hive 用の EMR-HOOK の設定」をご参照ください。

    説明

    クラスターで EMR-HOOK を設定しない場合、DataWorks はメタデータをリアルタイムで表示したり、監査ログを生成したり、データリネージを表示したり、EMR 関連の管理タスクを実行したりすることができません。

ステップ1:EMR Hive ノードの開発

EMR Hive ノードの編集ページでノードを開発できます。

SQL コードの開発

SQL 編集エリアでタスクのコードを記述します。コード内で ${variable_name} 形式を使用して変数を定義し、ノード編集ページの右側にある Scheduling Settings の下の Scheduling Parameters セクションで各変数に値を割り当てることができます。これにより、スケジューリングシナリオでコードにパラメーターを動的に渡すことができます。スケジューリングパラメーターの詳細については、「スケジューリングパラメーターのソースと式」をご参照ください。以下に例を示します。

SHOW  TABLES ; 
SELECT '${var}'; --スケジューリングパラメーターと併用します。
SELECT * FROM userinfo ;
説明

SQL ステートメントの最大サイズは 130 KB です。

ステップ2:EMR Hive ノードの設定

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

ノードの右側にある Scheduling Settings セクションの EMR Node Parameters > DataWorks parameters で、次の表に示すプロパティパラメーターを設定できます。

説明
  • 使用可能な詳細パラメーターは、次の表に示すように、EMR クラスターのタイプによって異なります。

  • ノードの右側にある Scheduling Settings セクションの EMR Node Parameters > Spark parameter で、その他の オープンソース Spark プロパティ を設定できます。

DataLake クラスター/カスタムクラスター:EMR on ECS

詳細パラメーター

説明

queue

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

priority

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

FLOW_SKIP_SQL_ANALYZE

SQL ステートメントの実行モードです。有効な値は次のとおりです:

  • true:一度に複数の SQL ステートメントを実行します。

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

説明

このパラメーターは、開発環境でのテスト実行でのみサポートされます。

DATAWORKS_SESSION_DISABLE

開発環境でのテスト実行シナリオに適用されます。有効な値は次のとおりです:

  • true:SQL ステートメントが実行されるたびに、新しい Java Database Connectivity (JDBC) 接続が作成されます。

  • false (デフォルト):ユーザーが同じノード内で異なる SQL ステートメントを実行する場合、同じ JDBC 接続が再利用されます。

説明

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

その他

詳細設定セクションで、カスタム Hive 接続パラメーターを追加することもできます。

Hadoop クラスター:EMR on ECS

詳細パラメーター

説明

queue

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

priority

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

FLOW_SKIP_SQL_ANALYZE

SQL ステートメントの実行モードです。有効な値は次のとおりです:

  • true:一度に複数の SQL ステートメントを実行します。

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

説明

このパラメーターは、開発環境でのテスト実行でのみサポートされます。

USE_GATEWAY

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

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

  • false (デフォルト):ゲートウェイクラスター経由でジョブを送信しません。ジョブはデフォルトでヘッダーノードに送信されます。

説明

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

ノードタスクをスケジュールで実行するには、そのスケジューリングプロパティを設定する必要があります。詳細については、「ノードのスケジューリング設定」をご参照ください。

ステップ3:ノードの実行とデバッグ

SQL タスクの実行

  1. Run ConfigurationCompute Resource で、Compute ResourceResource Group を設定できます。

    説明
    • タスク実行に必要なリソースに基づいて、CUs for Scheduling を設定することもできます。デフォルトは 0.25 です。

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

  2. ツールバーのパラメーターダイアログボックスで、作成した Hive データソースを選択し、Run をクリックして SQL タスクを実行します。

    説明

    EMR Hive ノードからデータをクエリする場合、クエリは 10000 レコード、合計データサイズ 10 MB に制限されます。

  3. Save をクリックして、ノードタスクを保存できます。

次のステップ

  1. ノードを設定した後、公開する必要があります。詳細については、「ノードまたはワークフローの公開」をご参照ください。

  2. タスクが公開されると、オペレーションセンターで定期タスクのステータスを表示できます。詳細については、「オペレーションセンター入門」をご参照ください。

よくある質問

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

EMR execute task failed!
SQL: {"name":"dw20251018","type":"HIVE_SQL","launcher":{"allocationSpec":{}},"properties":{"envs":{"FLOW_SKIP_SQL_ANALYZE":false},"arguments":["select * from default.dim_customers"],"tags":[],"description":"DataWorks"}}
TASK-MESSAGE:
FAILED: Build connection error! Could not open client transport with JDBC Uri: jdbc:hive2://xxx:10000: java.net.ConnectException: Connection timed out

A:リソースグループとクラスターがネットワーク経由で相互に接続できることを確認してください。計算リソースリストに移動し、[リソースの初期化] をクリックします。表示されるダイアログボックスで、再度初期化 をクリックします。初期化が成功したことを確認してください。