Apache Kyuubi は、Spark、Flink、Trino などのデータレイククエリエンジンに SQL などのクエリサービスを提供する、分散型のマルチテナンシーゲートウェイです。DataWorks の EMR Kyuubi ノードを使用すると、Kyuubi タスクを開発して定期的にスケジュールし、他のジョブと統合できます。このトピックでは、データ開発のために EMR Kyuubi ノードを設定および使用する方法について説明します。
前提条件
Alibaba Cloud EMR クラスターを作成し、DataWorks にバインドしていること。詳細については、「Data Studio (新バージョン): EMR コンピューティングリソースをバインドする」をご参照ください。
(オプション) 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キューです。説明EMR クラスターが DataWorks ワークスペースに登録され、ワークスペースレベルの [YARN リソースキュー] が設定されている場合、Kyuubi タスクの実行時にスケジューリングキューを選択するために次のルールが適用されます:
[グローバル設定を優先] が [はい] に設定されている場合、EMR クラスターの登録時に設定されたスケジューリングキューが使用されます。
[グローバル設定を優先] が設定されていない場合、EMR Kyuubi ノードに設定されたスケジューリングキューが使用されます。
EMR YARN の詳細については、「基本的なキュー設定」をご参照ください。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に設定します。SQL タスクを実行する
[デバッグ設定] の [コンピューティングリソース] セクションで、[コンピューティングリソース] と [DataWorks リソースグループ] の設定を行います。
説明タスク実行のリソース要件に基づいて [CU のスケジュール] を行うこともできます。デフォルトの CU は
0.25です。インターネット経由または VPC 経由でデータソースにアクセスする場合は、データソースに接続されているスケジューリングリソースグループを使用する必要があります。詳細については、「ネットワーク接続ソリューション」をご参照ください。
ツールバーのパラメーターダイアログボックスで、データソースを選択し、[実行] をクリックして SQL ジョブを実行します。
ノードでタスクを定期的に実行するには、そのスケジューリングプロパティを設定します。詳細については、「ノードのスケジューリング」をご参照ください。
ノードを設定した後、デプロイします。詳細については、「ノード/ワークフローのデプロイ」をご参照ください。
ノードがデプロイされた後、オペレーションセンターでそのステータスを表示できます。詳細については、「オペレーションセンター入門」をご参照ください。
よくある質問
Q: ノードの実行に失敗し、接続タイムアウトエラーが報告されます。どうすればよいですか?
A: リソースグループとクラスター間のネットワーク接続を確認してください。コンピューティングリソースリストページに移動して、リソースを初期化します。表示されるダイアログボックスで、[再初期化] をクリックし、初期化が成功したことを確認します。

