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

DataWorks:EMR Impala ノード

最終更新日:Feb 05, 2026

Impala は、ペタバイト規模のデータに対してリアルタイムで高速なインタラクティブクエリを実行するための SQL クエリエンジンです。このトピックでは、データ開発のために DataWorks で EMR Impala ノードを作成および設定する方法について説明します。

前提条件

  • Alibaba Cloud E-MapReduce (EMR) クラスターを作成し、DataWorks に登録済みであること。詳細については、「Data Studio: EMR 計算リソースの関連付け」をご参照ください。

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

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

制限事項

  • このノードタイプは、Serverless リソースグループ (推奨) または専用スケジューリングリソースグループでのみ実行されます。

  • EMR Impala は、レガシーデータレイククラスター (Hadoop) の計算リソースタイプでのみ実行されます。DataWorks は新しい Hadoop タイプのクラスターのバインドをサポートしなくなりましたが、既存のクラスターは引き続き使用できます。

操作手順

  1. EMR Impala ノードの設定ページで、次の手順を実行します。

    SQL コードの開発

    エディターで SQL コードを記述します。`${variable_name}` 形式で変数を定義し、スケジューリング設定ペインのスケジューリングパラメーターで値を割り当てることができます。これにより、スケジュール実行中にコードにパラメーターを動的に渡すことができます。スケジューリングパラメーターの使用方法に関する詳細については、「スケジューリングパラメーターのソースと式」をご参照ください。次のコードは一例です。

    SHOW  TABLES ;
    CREATE TABLE IF NOT EXISTS userinfo (
    ip STRING COMMENT'IP アドレス',
    uid STRING COMMENT'ユーザー ID'
    )PARTITIONED BY(
    dt STRING
    ); 
    ALTER TABLE userinfo ADD IF NOT EXISTS PARTITION(dt='${bizdate}'); -- スケジューリングパラメーターと組み合わせて使用できます。
    SELECT * FROM userinfo ;
    説明

    単一の SQL 文は 130 KB を超えることはできません。

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

    右側の [スケジューリング設定] ペインの [EMR ノードパラメーター] > [DataWorks パラメーター] セクションで、次のプロパティを設定できます。

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

    • その他の オープンソースの Spark プロパティ は、[スケジューリング設定] > [EMR ノードパラメーター] > [Spark パラメーター] ペインで設定します。

    DataLake/カスタムクラスター

    パラメーター

    説明

    FLOW_SKIP_SQL_ANALYZE

    SQL 文の実行モードを設定します。有効な値:

    • true:複数の SQL 文を一度に実行します。

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

    説明

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

    DATAWORKS_SESSION_DISABLE

    開発環境での直接テスト実行用です。有効な値:

    • true:SQL 文を実行するたびに新しい JDBC 接続を作成します。

    • false (デフォルト):ノード内で異なる SQL 文を実行する際に、同じ JDBC 接続を再利用します。

    説明

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

    priority

    優先度。デフォルト:1。

    queue

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

    Hadoop クラスター

    パラメーター

    説明

    FLOW_SKIP_SQL_ANALYZE

    SQL 文の実行モードを設定します。有効な値:

    • true:複数の SQL 文を一度に実行します。

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

    説明

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

    USE_GATEWAY

    ゲートウェイクラスター経由でジョブをサブミットするかどうかを指定します。有効な値:

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

    • false (デフォルト):ヘッダーノードに直接ジョブをサブミットします。

    説明

    このパラメーターを true に設定しても、クラスターがゲートウェイクラスターに関連付けられていない場合、EMR ジョブのサブミットは失敗します。

    SQL タスクの実行

    1. Run Configuration[計算リソース] セクションで、[計算リソース][リソースグループ] を選択します。

      説明
      • タスクが必要とするリソースに応じて [スケジューリング CU] を調整することもできます。デフォルト:0.25 CU。

      • パブリックネットワークまたは VPC 経由でデータソースにアクセスするには、それに接続できるスケジューリングリソースグループを使用します。詳細については、「ネットワーク接続ソリューション」をご参照ください。

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

      説明

      EMR Impala ノードで実行されるクエリは、最大 10,000 行を返すことができ、合計データサイズの制限は 10 MB です。

    3. [保存] をクリックしてノードを保存します。

  2. タスクをスケジューリングするには、必要に応じてそのプロパティを設定します。詳細については、「ノードのスケジューリング設定」をご参照ください。

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

  4. タスクをデプロイした後、オペレーションセンターでそのスケジュール実行をモニターできます。詳細については、「オペレーションセンター入門」をご参照ください。

よくある質問

  • Q:「Impala JDBC Url is Empty」というエラーが表示されるのはなぜですか?

    image

    A:このエラーは、EMR クラスターで Impala サービスが有効になっていない場合に発生します。Impala サービスは、レガシーデータレイククラスター (Hadoop) でのみサポートされていることにご注意ください。

  • Q:接続タイムアウトエラーでノードが失敗するのはなぜですか?

    image

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

    image

    image