Apache Kyuubi は、Spark、Flink、Trino などのデータレイククエリエンジン上で SQL クエリサービスを提供する、分散型のマルチテナントゲートウェイです。DataWorks の EMR Kyuubi ノードを使用すると、Kyuubi ジョブを開発して定期的にスケジュールし、他のジョブと統合できます。このトピックでは、データ開発のために EMR Kyuubi ノードを設定および使用する方法について説明します。
前提条件
Alibaba Cloud E-MapReduce (EMR) クラスターを作成し、DataWorks に登録済みであること。詳細については、「Data Studio: EMR コンピューティングリソースの関連付け」をご参照ください。
(任意、RAM ユーザーに必須) タスク開発を担当する Resource Access Management (RAM) ユーザーをワークスペースに追加し、開発者またはワークスペース管理者のロールを割り当て済みであること。ワークスペース管理者ロールは広範な権限を持つため、慎重に付与してください。メンバーの追加に関する詳細については、「ワークスペースへのメンバーの追加」をご参照ください。
Alibaba Cloud アカウントを使用している場合は、このステップをスキップできます。
制限事項
このタイプのタスクを実行できるのは、サーバーレスリソースグループ (推奨) またはスケジューリング専用リソースグループのみです。
操作手順
EMR Kyuubi ノードの編集ページで、以下の開発操作を実行します。
SQL コードの開発
SQL エディターでタスクコードを開発します。コード内で `${variable_name}` 形式を使用して変数を定義し、右側のペインの [スケジュール] セクションの [パラメーター] で値を割り当てることができます。これにより、スケジュールされたジョブに動的にパラメーターを渡すことができます。スケジュールパラメーターの詳細については、「スケジュールパラメーターのソースと式」をご参照ください。以下に例を示します。
SHOW TABLES; SELECT * FROM kyuubi040702 WHERE age >= '${a}'; -- スケジュールパラメーターと併用できます。説明SQL 文の最大サイズは 130 KB です。
(任意) 詳細パラメーターの設定
右側のペインの [スケジュール] セクションにある で、以下のノード固有のパラメーターを設定できます。
説明詳細については、「オープンソースの Spark プロパティ」をご参照ください。これらのプロパティは、右側ペインの の下にある [スケジュール] セクションで設定します。
パラメーター
説明
queue
ジョブのスケジューリングキュー。デフォルトのキューは
defaultです。説明DataWorks ワークスペースに EMR クラスターを登録する際にワークスペースレベルの [YARN リソースキュー] を設定した場合、以下のルールに基づいて Kyuubi タスクに使用されるスケジューリングキューが決定されます。
[グローバル設定の優先度] が [はい] に設定されている場合、EMR クラスター登録時に設定されたスケジューリングキューが使用されます。
[グローバル設定の優先度] が設定されていない場合、EMR Kyuubi ノードで設定されたスケジューリングキューが使用されます。
EMR YARN の詳細については、「基本的なキュー設定」をご参照ください。EMR クラスター登録時のキュー設定については、「グローバル YARN キューの設定」をご参照ください。
priority
ジョブの優先度。デフォルト値は 1 です。
FLOW_SKIP_SQL_ANALYZE
SQL 文の実行モード。有効な値は次のとおりです。
true:複数の SQL 文を一度に実行します。false(デフォルト):SQL 文を一度に 1 つずつ実行します。
説明このパラメーターは、開発環境でのテスト実行にのみ適用されます。
DATAWORKS_SESSION_DISABLE
このパラメーターは、開発環境で手動でトリガーされるテスト実行に適用されます。有効な値は次のとおりです。
true:実行される SQL 文ごとに新しい JDBC 接続を作成します。false(デフォルト):ノード内のすべての SQL 文に対して同じ JDBC 接続を再利用します。
説明このパラメーターを
falseに設定すると、実行ログにYARN アプリケーション IDが出力されません。YARN アプリケーション IDを出力するには、このパラメーターをtrueに設定してください。SQL タスクの実行
Run Configuration の [コンピューティングリソース] で、[コンピューティングリソース] と [DataWorks リソースグループ] を選択して設定します。
説明タスクのリソース要件に基づいて [スケジューリング CU] を設定することもできます。デフォルト値は
0.25CU です。パブリックネットワークまたは Virtual Private Cloud (VPC) 経由でデータソースにアクセスするには、データソースへの接続テストに合格したスケジューリングリソースグループを使用する必要があります。詳細については、「ネットワーク接続ソリューション」をご参照ください。
ツールバーのパラメーターダイアログボックスで、既存のデータソースを選択し、[実行] をクリックします。
ノードタスクを定期的に実行するには、ビジネス要件に基づいてスケジュールプロパティを設定します。設定の詳細については、「ノードのスケジューリング設定」をご参照ください。
ノードの設定が完了したら、ノードをデプロイする必要があります。詳細については、「ノードとワークフローのデプロイメント」をご参照ください。
タスクがデプロイされると、[オペレーションセンター] で定期タスクの実行ステータスを確認できます。詳細については、「オペレーションセンター入門」をご参照ください。
よくある質問
Q:接続タイムアウトエラーが発生します。どうすればよいですか?
A: 「[リソースグループ]」と「[クラスタ]」間のネットワーク接続を確認します。コンピューティングリソースページに移動し、リソースを見つけ、「[リソースの初期化]」をクリックします。表示されるダイアログボックスで、「[再初期化]」をクリックし、初期化が正常に完了したことを確認します。

