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

DataWorks:EMR Hive ノード

最終更新日:Nov 09, 2025

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

前提条件

  • Alibaba Cloud EMR クラスターを作成し、DataWorks にバインドしていること。詳細については、「Data Studio (新バージョン): EMR 計算リソースをバインドする」をご参照ください。

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

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

制限事項

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

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

    説明

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

ステップ 1: EMR Hive ノードを開発する

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

SQL コードを開発する

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

SHOW  TABLES ; 
SELECT '${var}'; --スケジュールパラメーターと共に使用します。
SELECT * FROM userinfo ;
説明

SQL 文の最大サイズは 130 KB です。

ステップ 2: EMR Hive ノードを構成する

(オプション) 詳細設定を構成する

次の表にリストされている固有のプロパティパラメーターを構成できます。これらの設定は、右側の [スケジュール設定] ペインの [EMR ノードパラメーター] > [DataWorks パラメーター] セクションにあります。

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

  • 右側の [スケジュール設定] ペインの [EMR ノードパラメーター] > [Spark パラメーター] セクションで、より多くの オープンソースの 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. [デバッグ設定][計算リソース] で、[計算リソース][DataWorks リソースグループ] を構成します。

    説明
    • タスクが必要とするリソースに基づいて [スケジュール CU] を設定することもできます。デフォルト値は 0.25 です。

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

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

    説明

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

  3. [保存] ボタンをクリックします。

その他の操作

  1. ノードタスクを構成した後、ノードを公開できます。詳細については、「ノードまたはワークフローを公開する」をご参照ください。

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

よくある質問

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

image

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

image

image