Azkaban est un planificateur de flux de travail par lots utilisé pour créer, exécuter et gérer des flux présentant des dépendances complexes. Utilisez l'interface web d'Azkaban pour planifier des tâches Spark dans AnalyticDB for MySQL.
Prérequis
Un cluster AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition est créé.
Vous avez créé un groupe de ressources de tâches ou un groupe de ressources interactif pour le moteur Spark dans votre cluster AnalyticDB for MySQL.
Beeline est installé.
Vous avez ajouté l'adresse IP du serveur exécutant Azkaban à la liste d'autorisation d'adresses IP de votre cluster AnalyticDB for MySQL.
Planifier des tâches Spark SQL
Utilisez Spark-Submit pour soumettre des tâches Spark SQL et des tâches Spark à AnalyticDB for MySQL.
Batch
Installez l'outil de ligne de commande Spark-Submit et configurez les paramètres associés.
-
Créez un fichier de flux de travail et compressez son dossier parent dans un fichier ZIP.
nodes: - name: SparkPi type: command config: command: /<your path>/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" dependsOn: - jobA - jobB - name: jobA type: command config: command: echo "This is an echoed text." - name: jobB type: command config: command: pwdImportantRemplacez
<your path>par le chemin d'installation réel de l'outil de ligne de commande Spark-Submit.N'utilisez pas de caractère de continuation de ligne (\) dans la commande du nœud de commande.
-
Créez un projet et téléchargez le fichier ZIP de l'étape 2.
Ouvrez l'interface web d'Azkaban. Dans la barre de navigation supérieure, cliquez sur Project.
Dans le coin supérieur droit de la page, cliquez sur Create Project.
Dans la boîte de dialogue Create Project, définissez les paramètres Name et Description.
Dans le coin supérieur droit de la page, cliquez sur Upload.
Dans la boîte de dialogue Upload Project Files, téléchargez le fichier ZIP et cliquez sur Upload.
-
Exécutez le flux de travail.
Sur la page Project, cliquez sur l'onglet Flows.
Cliquez sur Execute Flow.
Cliquez sur Execute.
Dans la boîte de dialogue Flow submitted, cliquez sur Continue.
-
Consultez les détails du flux de travail.
Dans la barre de navigation supérieure, cliquez sur Executing.
Cliquez sur l'onglet Recently Finished.
Cliquez sur un Execution ID puis sur l'onglet Job List pour afficher les détails d'exécution de chaque tâche.
Cliquez sur Logs pour afficher les journaux des tâches.
Interactive
-
Obtenez l'URL de connexion du groupe de ressources interactif Spark.
Connectez-vous à la console AnalyticDB for MySQL. Dans le coin supérieur gauche de la console, sélectionnez une région. Dans le volet de navigation de gauche, cliquez sur Clusters. Recherchez le cluster que vous souhaitez gérer et cliquez sur son ID.
Dans le volet de navigation de gauche, choisissez . Sur la page qui s'affiche, cliquez sur l'onglet Resource Groups.
-
Recherchez le groupe de ressources interactif Spark que vous avez créé et cliquez sur Details dans la colonne Actions pour afficher l'URL de connexion interne ou publique du groupe de ressources. Cliquez sur l'icône
située entre parenthèses à côté du numéro de port correspondant pour copier l'URL de connexion.Vous devez cliquer sur Apply for Endpoint à côté de Public Endpoint pour demander manuellement un endpoint public dans les scénarios suivants :
L'outil client utilisé pour soumettre une tâche Spark SQL est déployé sur site.
L'outil client utilisé pour soumettre une tâche Spark SQL est déployé sur une instance Elastic Compute Service (ECS) qui réside dans un VPC différent de celui de votre cluster AnalyticDB for MySQL.
-
Créez un fichier de flux de travail et compressez son dossier parent dans un fichier ZIP.
nodes: - name: jobB type: command config: command: <path> -u "jdbc:hive2://amv-t4n83e67n7b****sparkwho.ads.aliyuncs.com:10000/adb_demo" -n spark_interactive_prod/spark_user -p "spark_password" -e "show databases;show tables;" dependsOn: - jobA - name: jobA type: command config: command: <path> -u "jdbc:hive2://amv-t4n83e67n7b****sparkwho.ads.aliyuncs.com:10000/adb_demo" -n spark_interactive_prod/spark_user -p "spark_password" -e "show tables;"Paramètres :
Parameter
Description
path
Le chemin vers le client Beeline. Exemple :
/path/to/spark/bin/beeline.-u
Saisissez l'adresse de connexion obtenue à l'étape 1. Remplacez
defaultdans l'adresse de connexion par le nom de base de données réel et supprimezresource_group=<resource group name>de l'adresse de connexion.Exemple :
jdbc:hive2://amv-t4naxpqk****sparkwho.ads.aliyuncs.com:10000/adb_demo.-n
Le compte de base de données AnalyticDB for MySQL et le nom du groupe de ressources, au format
resource_group_name/database_account_name.Par exemple, si le nom du groupe de ressources est spark_interactive_prod et le nom du compte de base de données est spark_user, saisissez
spark_interactive_prod/spark_user.-p
Le mot de passe du compte de base de données AnalyticDB for MySQL.
-e
Les instructions SQL à exécuter. Utilisez un point-virgule (;) pour séparer plusieurs instructions.
-
Créez un projet et téléchargez le fichier ZIP de l'étape précédente.
Ouvrez l'interface web d'Azkaban. Dans la barre de navigation supérieure, cliquez sur Project.
Dans le coin supérieur droit de la page, cliquez sur Create Project.
Dans la boîte de dialogue Create Project, définissez les paramètres Name et Description.
Dans le coin supérieur droit de la page, cliquez sur Upload.
Dans la boîte de dialogue Upload Project Files, téléchargez le fichier ZIP et cliquez sur Upload.
-
Exécutez le flux de travail.
Sur la page Project, cliquez sur l'onglet Flows.
Cliquez sur Execute Flow.
Cliquez sur Execute.
Dans la boîte de dialogue Flow submitted, cliquez sur Continue.
-
Consultez les détails du flux de travail.
Dans la barre de navigation supérieure, cliquez sur Executing.
Cliquez sur l'onglet Recently Finished.
Cliquez sur un Execution ID puis sur l'onglet Job List pour afficher les détails d'exécution de chaque tâche.
Cliquez sur Logs pour afficher les journaux des tâches.
Planifier des tâches Spark JAR
-
Installez l'outil de ligne de commande Spark-Submit et configurez ses paramètres.
RemarqueConfigurez uniquement les paramètres requis suivants :
keyId,secretId,regionId,clusterIdetrgName. Si votre package JAR Spark est stocké sur votre machine locale, configurez également les paramètresObject Storage Service (OSS), tels queossUploadPath. -
Créez un fichier de flux de travail et compressez son dossier parent dans un fichier ZIP.
nodes: - name: SparkPi type: command config: command: /<your path>/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 dependsOn: - jobA - jobB - name: jobA type: command config: command: echo "This is an echoed text." - name: jobB type: command config: command: pwdImportantRemplacez
<your path>par le chemin d'installation réel de l'outil de ligne de commande Spark-Submit.N'utilisez pas de caractère de continuation de ligne (\) dans la commande du nœud de commande.
-
Créez un projet et téléchargez le fichier ZIP de l'étape 2.
Ouvrez l'interface web d'Azkaban. Dans la barre de navigation supérieure, cliquez sur Project.
Dans le coin supérieur droit de la page, cliquez sur Create Project.
Dans la boîte de dialogue Create Project, définissez les paramètres Name et Description.
Dans le coin supérieur droit de la page, cliquez sur Upload.
Dans la boîte de dialogue Upload Project Files, téléchargez le fichier ZIP et cliquez sur Upload.
-
Exécutez le flux de travail.
Sur la page Project, cliquez sur l'onglet Flows.
Cliquez sur Execute Flow.
Cliquez sur Execute.
Dans la boîte de dialogue Flow submitted, cliquez sur Continue.
-
Consultez les détails du flux de travail.
Dans la barre de navigation supérieure, cliquez sur Executing.
Cliquez sur l'onglet Recently Finished.
Cliquez sur un Execution ID puis sur l'onglet Job List pour afficher les détails d'exécution de chaque tâche.
Cliquez sur Logs pour afficher les journaux des tâches.