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

DataWorks:EMR Kyuubi ノードを作成する

最終更新日:Jul 11, 2025

Apache Kyuubi は、データレイククエリエンジン向けの SQL クエリなどのクエリサービスを提供する分散型マルチテナントゲートウェイです。データレイククエリエンジンには、Spark、Flink、Trino などがあります。DataWorks は、Kyuubi タスクを開発および定期的にスケジュールし、Kyuubi タスクを他のタイプのタスクと統合するために使用できる E-MapReduce(EMR)Kyuubi ノードを提供します。このトピックでは、EMR Kyuubi ノードを使用してタスクを開発する方法について説明します。

前提条件

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

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

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

  • DataStudio でワークフローが作成されています。

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

制限

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

ステップ 1: EMR Kyuubi ノードを作成する

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

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

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

    1. 目的のワークフローを見つけ、ワークフロー名を右クリックし、[ノードの作成] > [EMR] > [EMR Kyuubi] を選択します。

      説明

      または、[作成] アイコンにポインターを移動し、[ノードの作成] > [EMR] > [EMR Kyuubi] を選択することもできます。

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

      説明

      ノード名には、文字、数字、アンダースコア(_)、ピリオド(.)のみを含めることができます。

ステップ 2: EMR Kyuubi タスクを開発する

EMR Kyuubi ノードの構成タブで Kyuubi タスクを開発できます。

SQL コードを開発する

SQL エディターで、ノードコードを開発します。ノードコードで ${Variable} 形式で変数を定義し、[プロパティ] タブの [スケジューリングパラメーター] セクションで、値として変数に割り当てられるスケジューリングパラメーターを構成できます。このようにして、ノードの実行がスケジュールされると、スケジューリングパラメーターの値がノードコードで動的に置き換えられます。スケジューリングパラメーターの使用方法の詳細については、「スケジューリングパラメーターのサポートされている形式」をご参照ください。サンプルコード:

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

説明
  • タスクの SQL ステートメントのサイズは 130 KB を超えることはできません。

  • ワークスペースで複数の EMR 計算リソースが DataStudio に関連付けられている場合は、1 つの計算リソースを選択します。 ワークスペースで 1 つだけの EMR 計算リソースが DataStudio に関連付けられている場合は、データソースを選択する必要はありません。

(オプション)詳細パラメーターを構成する

現在のノードの構成タブの [詳細設定] タブで詳細パラメーターを構成できます。パラメーターの構成方法の詳細については、「Spark Configuration」を参照してください。

詳細パラメーター

説明

queue

ジョブがコミットされるスケジューリングキュー。デフォルト値:default

説明

EMR クラスタを目的のワークスペースに登録するときにワークスペースレベルの [YARN キュー] が構成されている場合、Kyuubi タスクを実行するときにスケジューリングキューを選択するために使用される次のルールが適用されます。

  • [はい] パラメーターで [グローバル構成を優先するかどうか] を選択した場合は、EMR クラスタの登録時に構成されたスケジューリングキューが使用されます。

  • [グローバル構成を優先するかどうか] パラメーターを構成しない場合は、EMR Kyuubi ノード用に構成されたスケジューリングキューが使用されます。

EMR YARN の詳細については、「YARN スケジューラ」をご参照ください。 EMR クラスタを登録するときにキューを構成する方法の詳細については、「グローバル YARN キューを構成する」をご参照ください。

priority

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

FLOW_SKIP_SQL_ANALYZE

SQL ステートメントの実行方法。有効な値:

  • true: 複数の SQL ステートメントが同時に実行されます。

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

説明

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

DATAWORKS_SESSION_DISABLE

SQL ステートメントが実行されるたびに JDBC 接続を確立するかどうかを指定します。このパラメーターは、DataWorks ワークスペースの開発環境でのテストに使用できます。有効な値:

  • true: SQL ステートメントが実行されるたびに JDBC 接続が確立されます。

  • false (デフォルト): 同じノードに対して異なる SQL ステートメントが実行されるときに、同じ JDBC 接続が使用されます。

説明

DATAWORKS_SESSION_DISABLE パラメーターが false に設定されている場合、EMR Hive ノードの yarn applicationId の値は表示されません。 yarn applicationId の値を表示する場合は、DATAWORKS_SESSION_DISABLE パラメーターを true に設定できます。

Kyuubi タスクを実行する

  1. ツールバーの 高级运行 アイコンをクリックします。 [パラメーター] ダイアログボックスで、[リソースグループ名] ドロップダウンリストから目的のリソースグループを選択し、[実行] をクリックします。

    説明
    • インターネットまたは VPC(Virtual Private Cloud)経由で計算リソースにアクセスする場合は、計算リソースに接続されているスケジューリング用リソースグループを使用します。詳細については、「ネットワーク接続ソリューション」をご参照ください。

    • 後続の操作でリソースグループを変更する場合は、高级运行 ([パラメーター付きで実行]) アイコンをクリックして、[パラメーター] ダイアログボックスでリソースグループを変更できます。

  2. 上部ツールバーの 保存 アイコンをクリックして、SQL ステートメントを保存します。

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

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

ステップ 3: スケジューリングプロパティを構成する

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

説明

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

ステップ 4: タスクをデプロイする

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

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

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

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

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

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

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

次のステップ

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