DataWorks のサーバーレス Kyuubi ノードを使用すると、EMR Serverless Spark 計算リソースを利用して Kyuubi タスクを開発できます。また、タスクを定期的にスケジュール実行し、他のジョブと統合することも可能です。
ユースケース
計算リソースの制限: EMR Serverless Spark 計算リソースのみをアタッチできます。リソースグループと計算リソース間のネットワーク接続が利用可能であることを確認してください。
リソースグループ: このタイプのタスクには、サーバーレスリソースグループが必要です。
(オプション、RAM ユーザーに必須) タスク開発を担当する Resource Access Management (RAM) ユーザーをワークスペースに追加し、開発者またはワークスペース管理者ロールを割り当てます。ワークスペース管理者ロールには広範な権限があるため、慎重に付与してください。メンバーの追加に関する詳細については、「ワークスペースへのメンバーの追加」をご参照ください。
Alibaba Cloud アカウントを使用している場合は、このステップをスキップできます。
ノードの作成
手順については、「ノードの作成」をご参照ください。
ノードの開発
SQL エディターでコードを作成します。 コードで${variable_name}フォーマットを使用して変数を定義し、[スケジューリング構成] > [スケジューリングパラメーター] セクションで値を割り当てます。 これにより、スケジューリング中に動的パラメーター置換が可能になります。 スケジューリングパラメーターの詳細については、「スケジューリングパラメーターのソースと式」をご参照ください。 次のコードは例です:
SHOW TABLES;
SELECT * FROM kyuubi040702 WHERE age >= '${a}'; -- 変数 '${a}' はスケジュールパラメーターを使用して設定できます。SQL 文の最大サイズは 130 KB です。
ノードのデバッグ
「Run Configuration」ペインで、計算リソースおよびリソースグループを設定します。
パラメーター
説明
計算リソース
バインド済みの EMR Serverless Spark 計算リソースを選択します。計算リソースは「Kyuubi 接続の設定」が完了している必要があります。利用可能な計算リソースがない場合は、ドロップダウンリストから [計算リソースの作成] を選択します。
リソースグループ
ワークスペースにバインドされているリソースグループを選択します。
スクリプトパラメーター
コード内で
${parameter_name}フォーマットを使用して変数を定義する場合、ここで [パラメーター名] と [パラメーター値] を指定する必要があります。 実行時に、システムは変数を設定値で動的に置き換えます。 詳細については、「スケジューリングパラメーターのソースと式」をご参照ください。ServerlessSpark ノードパラメーター
ネイティブ Spark 設定プロパティを指定します。詳細については、「オープンソース Spark プロパティ」および「カスタム SparkConf パラメーター」をご参照ください。次のフォーマットを使用します:
spark.eventLog.enabled : false。説明ワークスペース内のすべてのモジュールに対してグローバル Spark パラメーターを設定できます。これらのグローバルパラメーターがモジュール固有の Spark パラメーターより優先されるかどうかを指定できます。グローバル Spark パラメーターの設定方法の詳細については、「グローバル Spark パラメーターの設定」をご参照ください。
ノードエディター上部のツールバーで、実行 をクリックします。
重要ノードを公開する前に、Run Configuration > [ServerlessSpark ノードパラメーター] から [スケジューリング構成] > [ServerlessSpark ノードパラメーター] に設定を同期する必要があります。
次のステップ
ノードのスケジュール構成:ノードを定期的なスケジュールで実行するには、ページの右側にある[スケジュール構成] パネルで、[時間プロパティ]と関連するスケジュールプロパティを構成します。
ノードの公開: ノードを本番環境に公開するには、
アイコンをクリックします。本番環境に公開されたノードのみがスケジュールされます。タスク O&M: ノードを公開した後、オペレーションセンターでそのスケジュール実行をモニターできます。詳細については、「オペレーションセンター入門」をご参照ください。