DolphinScheduler は、強力な Directed Acyclic Graph(DAG)ビジュアルインターフェイスを備えた、分散型で拡張可能なオープンソースのワークフローオーケストレーションプラットフォームです。 DolphinScheduler は、大量のデータのワークフローを効率的に実行および管理するのに役立ちます。 DolphinScheduler Web インターフェイスで、AnalyticDB for MySQL の Spark ジョブを作成、編集、およびスケジュールできます。
前提条件
AnalyticDB for MySQL Enterprise Edition、Basic Edition、または Data Lakehouse Edition クラスタが作成されていること。
ジョブリソースグループまたは Spark 対話型リソースグループが作成されるAnalyticDB for MySQL クラスターに対して。
Java 開発キット(JDK) V1.8 以降がインストールされていること。
DolphinScheduler を実行するサーバーの IP アドレスが、AnalyticDB for MySQL クラスタの IP アドレスホワイトリストに追加されていること。
Spark SQL ジョブのスケジュール
AnalyticDB for MySQL では、バッチモードまたは対話型モードで Spark SQL を実行できます。 スケジュール手順は、実行モードによって異なります。
バッチモード
spark-submit コマンドラインツールをインストールし、関連パラメータを指定します。
説明指定する必要があるパラメータは、
keyId、secretId、regionId、clusterId、およびrgNameのみです。プロジェクトを作成します。
DolphinScheduler Web インターフェイスにアクセスします。 上部のナビゲーションバーで、 をクリックします。。上部のナビゲーションバーで、 [クリック] プロジェクト
[作成] プロジェクトをクリックします。
次の [プロジェクトの作成] ダイアログボックスで、次のようなパラメーターを構成します。プロジェクト名 および 所有ユーザー。
ワークフローを作成します。
作成したプロジェクトの名前をクリックします。 左側のナビゲーションウィンドウで、[ワークフロー] > [ワークフロー定義] を選択して、[ワークフロー定義] ページに移動します。
[ワークフローの作成] をクリックして、[ワークフロー DAG 編集] ページに移動します。
ページの左側のリストで、[SHELL] を選択し、右側のキャンバスにドラッグします。
次の[現在のノード設定] ダイアログボックスで、次の表に示すパラメーターを構成します。
パラメータ
説明
[ノード名]
ワークフローノードの名前。
[スクリプト]
spark-submit ツールのインストールパスと Spark ジョブのビジネスコード。 例:
/root/adb-spark-toolkit-submit/bin/spark-submit --class com.aliyun.adb.spark.sql.OfflineSqlTemplate local:///opt/spark/jars/offline-sql.jar "show databases" "select 100"。重要spark-submit ツールを使用して Spark ジョブをスケジュールする場合は、スクリプトに spark-submit ツールのインストールパスを指定する必要があります。 そうしないと、スケジューリングタスクが spark-submit コマンドを見つけられない可能性があります。
説明その他のパラメータについては、「DolphinScheduler タスクパラメータ付録」をご参照ください。
[確認] をクリックします。
ページの右上隅にある [保存] をクリックします。 [基本情報] ダイアログボックスで、[ワークフロー名] などのパラメータを設定します。 [確認] をクリックします。
ワークフローを実行します。
作成したワークフローを見つけ、
[操作] 列の アイコンをクリックして、ワークフローを公開します。
アイコンをクリックして、[操作] 列を表示します。次の 開始前にパラメーターを設定してください ダイアログボックスで、パラメーターを構成します。
[確認] をクリックして、ワークフローを実行します。
ワークフローの詳細を表示します。
左側のナビゲーションウィンドウで、[タスク] > [タスクインスタンス] を選択します。
ワークフローのタスクを見つけ、
[操作] 列の アイコンをクリックして、ワークフローの実行結果とログを表示します。
対話型モード
Spark 対話型リソースグループの接続 URL を取得します。
AnalyticDB for MySQL コンソール にログオンします。 コンソールの左上隅で、リージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 Enterprise Edition、Basic Edition、または Data Lakehouse Edition タブで、管理するクラスタを見つけ、クラスタ ID をクリックします。
左側のナビゲーションウィンドウで、 を選択します。表示されたページで、リソースグループ管理 タブをクリックします。
作成した Spark 対話型リソースグループを見つけ、 列の をクリックして、リソースグループの内部またはパブリック接続 URL を表示します。 対応するポート番号の横にある括弧内の アイコンをクリックすると、接続 URL をコピーできます。詳細 内の 操作 列で、リソースグループの内部接続 URL またはパブリック接続 URL を表示します。

クリックする必要があります [エンドポイントを申請]パブリックエンドポイント
Spark SQL ジョブを送信するために使用されるクライアントツールが、オンプレミスにデプロイされている場合。
Spark SQL ジョブを送信するために使用されるクライアントツールが、AnalyticDB for MySQL クラスタとは異なる VPC に存在する Elastic Compute Service(ECS)インスタンスにデプロイされている場合。
データソースを作成します。
DolphinScheduler Web インターフェイスにアクセスします。 上部のナビゲーションバーで、[データソース] をクリックします。
[データソースの作成] をクリックします。
[データソースの作成] ダイアログボックスで、次の表に示すパラメータを設定します。
パラメータ
説明
[データソース]
データソースのタイプ。 [SPARK] を選択します。
[データソース名]
データソースの名前。
[IP]
手順 1 で取得したエンドポイント。 エンドポイントの
defaultをデータベースの実際の名前に置き換え、エンドポイントからresource_group=<resource group name>サフィックスを削除します。例:
jdbc:hive2://amv-t4naxpqk****sparkwho.ads.aliyuncs.com:10000/adb_demo。[ポート]
Spark 対話型リソースグループのポート番号。 値を 10000 に設定します。
[ユーザー名]
AnalyticDB for MySQL クラスタのデータベースアカウントの名前。
[データベース名]
AnalyticDB for MySQL クラスタ内のデータベースの名前。
説明その他のオプションパラメータについては、「MySQL」をご参照ください。
[接続テスト] をクリックします。 テストが成功したら、[確認] をクリックします。
プロジェクトを作成します。
DolphinScheduler Web インターフェイスにアクセスします。 上部のナビゲーションバーで、 をクリックします。。上部のナビゲーションバーで、 [クリック] プロジェクト
[作成] プロジェクトをクリックします。
次の [プロジェクトの作成] ダイアログボックスで、次のようなパラメーターを構成します。プロジェクト名 および 所有ユーザー。
ワークフローを作成します。
作成したプロジェクトの名前をクリックします。 左側のナビゲーションウィンドウで、[ワークフロー] > [ワークフロー定義] を選択して、[ワークフロー定義] ページに移動します。
[ワークフローの作成] をクリックして、[ワークフロー DAG 編集] ページに移動します。
ページの左側のリストで、[SQL] を選択し、右側のキャンバスにドラッグします。
[[現在のノード設定] ダイアログボックスで、次の表に示すパラメーターを構成します。
パラメータ
説明
[データソースタイプ]
データソースのタイプ。 [SPARK] を選択します。
[データソースインスタンス]
手順 1 で作成したデータソース。
[SQL] [タイプ]
SQL ジョブのタイプ。有効な値: [クエリ] および [非クエリ]。
[SQL] [ステートメント]
SQL ステートメント。
[確認] をクリックします。
ページの右上隅にある [保存] をクリックします。 [基本情報] ダイアログボックスで、[ワークフロー名] などのパラメータを設定します。 [確認] をクリックします。
ワークフローを実行します。
作成したワークフローを見つけ、
[操作] 列の アイコンをクリックして、ワークフローを公開します。
アイコンをクリックし、[操作] 列をクリックします。次の 開始前にパラメーターを設定してください ダイアログボックスで、パラメーターを構成します。
[確認] をクリックして、ワークフローを実行します。
ワークフローの詳細を表示します。
左側のナビゲーションウィンドウで、[タスク] > [タスクインスタンス] を選択します。
ワークフローのタスクを見つけ、
[操作] 列の アイコンをクリックして、ワークフローの実行結果とログを表示します。
Spark JAR ジョブのスケジュール
spark-submit コマンドラインツールをインストールし、関連パラメータを指定します。
説明指定する必要があるパラメータは、
keyId、secretId、regionId、clusterId、およびrgNameのみです。 Spark JAR パッケージがオンプレミスデバイスに保存されている場合は、ossUploadPathなどの Object Storage Service(OSS)パラメータを指定する必要があります。プロジェクトを作成します。
DolphinScheduler Web インターフェイスにアクセスします。 上部のナビゲーションバーで、 をクリックします。。上部のナビゲーションバーで、 [クリック] プロジェクト
[作成] プロジェクトをクリックします。
次の [プロジェクトの作成] ダイアログボックスで、次のようなパラメーターを構成します。プロジェクト名 および 所有ユーザー。
ワークフローを作成します。
作成したプロジェクトの名前をクリックします。 左側のナビゲーションウィンドウで、[ワークフロー] > [ワークフロー定義] を選択して、[ワークフロー定義] ページに移動します。
[ワークフローの作成] をクリックして、[ワークフロー DAG 編集] ページに移動します。
ページの左側のリストで、[SHELL] を選択し、右側のキャンバスにドラッグします。
次の [現在のノード設定] ダイアログボックスで、次の表に示すパラメーターを構成します。
パラメータ
説明
ノード名
ワークフローノードの名前。
スクリプト
spark-submit ツールのインストールパスと Spark ジョブのビジネスコード。 例:
/root/adb-spark-toolkit-submit/bin/spark-submit --class org.apache.spark.examples.SparkPi --name SparkPi --conf spark.driver.resourceSpec=medium --conf spark.executor.instances=2 --conf spark.executor.resourceSpec=medium local:///tmp/spark-examples.jar 1000.重要Spark ジョブをスケジュールする場合は、スクリプトに spark-submit ツールのインストールパスを指定する必要があります。 そうしないと、スケジューリングタスクが spark-submit コマンドを見つけられない可能性があります。
説明その他のパラメータについては、「DolphinScheduler タスクパラメータ付録」をご参照ください。
[確認] をクリックします。
ページの右上隅にある [保存] をクリックします。 [基本情報] ダイアログボックスで、[ワークフロー名] などのパラメータを設定します。 [確認] をクリックします。
ワークフローを実行します。
作成したワークフローを見つけ、
[操作] 列の アイコンをクリックして、ワークフローを公開します。
アイコンをクリックし、[操作] 列をクリックします。次の 開始前にパラメーターを設定してください ダイアログボックスで、パラメーターを構成します。
[確認] をクリックして、ワークフローを実行します。
ワークフローの詳細を表示します。
左側のナビゲーションウィンドウで、[タスク] > [タスクインスタンス] を選択します。
ワークフローのタスクを見つけ、
[操作] 列の アイコンをクリックして、ワークフローの実行結果とログを表示します。