Spark est un moteur d'analyse de données massives polyvalent, reconnu pour ses hautes performances, sa simplicité d'utilisation et son large champ d'application. Il prend en charge les analyses complexes en mémoire ainsi que les applications analytiques à grande échelle et à faible latence. DataWorks met à disposition des nœuds CDH Spark permettant de développer et de planifier périodiquement des tâches Spark au sein de la plateforme. Cette rubrique explique comment créer et utiliser un nœud CDH Spark.
Prérequis
-
Un workflow a été créé dans DataStudio.
Dans DataStudio, les tâches de développement sont organisées en workflows. Créez un workflow avant de créer un nœud. Pour plus d'informations, consultez la rubrique Créer un workflow.
-
Un cluster CDH a été créé et enregistré dans votre espace de travail DataWorks.
Enregistrez votre cluster CDH dans un espace de travail DataWorks avant de créer des nœuds et des tâches CDH. Pour plus d'informations, consultez la rubrique Lier une ressource de calcul CDH dans l'ancienne version de DataStudio.
(Facultatif) Si vous utilisez un utilisateur RAM, ajoutez-le à l'espace de travail et attribuez-lui le rôle Development ou Workspace Administrator . Le rôle Workspace Administrator dispose d'autorisations étendues ; attribuez-le avec prudence. Pour plus d'informations sur l'ajout de membres, consultez la rubrique Ajouter des membres à un espace de travail.
Un groupe de ressources serverless a été acheté et configuré. La configuration inclut la liaison du groupe de ressources à votre espace de travail ainsi que la configuration du réseau. Pour plus d'informations, consultez la rubrique Utiliser un groupe de ressources serverless.
Limites
Ce type de tâche peut s'exécuter sur un groupe de ressources Serverless (recommandé) ou sur un ancien groupe de ressources de planification dédié.
Prérequis : Développer une tâche Spark et obtenir son package JAR
Avant de planifier une tâche CDH Spark dans DataWorks, développez le code de la tâche Spark dans CDH et compilez-le pour générer un package JAR. Pour obtenir des instructions sur le développement de tâches CDH Spark, consultez la rubrique Présentation de Spark.
Téléchargez le package JAR de la tâche dans DataWorks et planifiez-y périodiquement la tâche CDH Spark.
Étape 1 : Créer un nœud CDH Spark
-
Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Data Development.
Cliquez avec le bouton droit sur un workflow et sélectionnez .
Dans la boîte de dialogue Create Node , configurez l'instance de moteur du nœud, son chemin d'accès, son nom et d'autres paramètres.
Cliquez sur OK pour créer le nœud. Vous pouvez ensuite développer et configurer la tâche dans le nœud.
Étape 2 : Créer et référencer une ressource CDH JAR
Dans le nœud CDH Spark, référencez une ressource JAR et écrivez le code du nœud CDH Spark afin de soumettre la tâche avec la commande Spark Submit. Procédez comme suit :
-
Créez une ressource CDH JAR.
Dans le workflow correspondant, cliquez avec le bouton droit sur et sélectionnez . Dans la boîte de dialogue Create Resource , cliquez sur Click Upload et sélectionnez le fichier à télécharger.
Configurez le Storage Path (par défaut :
/user/admin/lib), saisissez le Name de la ressource (ajoutez l'extension.jarau nom du fichier pour une ressource JAR). Le package JAR téléchargé ne doit pas dépasser 50 Mo. Si l'authentification Kerberos est activée, accordez d'abord à l'utilisateur actuel l'autorisation d'écriture sur le répertoire de stockage. -
Référencez la ressource CDH JAR.
Ouvrez le nœud CDH que vous avez créé et restez sur sa page d'édition.
-
Dans , recherchez la ressource à référencer (dans cet exemple,
spark-examples_2.11_2.4.0.jar), cliquez avec le bouton droit sur son nom et sélectionnez Insert Resource Path .Insert Resource Path . Si une instruction au format
##@resource_reference{""}apparaît dans l'éditeur de code du nœud CDH, la ressource a été référencée avec succès. Par exemple :##@resource_reference{"spark_examples_2.11_2.4.0.jar"} spark_examples_2.11_2.4.0.jar -
Modifiez le code du nœud CDH Spark en ajoutant une commande Spark Submit, comme illustré dans l'exemple suivant.
ImportantLes commentaires ne sont pas pris en charge dans le code des nœuds CDH Spark. Réécrivez le code de la tâche en vous basant sur l'exemple suivant et n'ajoutez pas de commentaires. Sinon, l'exécution du nœud échouera.
##@resource_reference{"spark-examples_2.11-2.4.0.jar"} spark-submit --class org.apache.spark.examples.SparkPi --master yarn spark-examples_2.11-2.4.0.jar 100Dans cet exemple :
org.apache.spark.examples.SparkPi : la classe principale de la tâche contenue dans le package JAR que vous avez compilé.
spark-examples_2.11-2.4.0.jar : le nom de la ressource CDH JAR que vous avez téléchargée.
Étape 3 : Configurer la planification des tâches
Pour exécuter la tâche selon une planification récurrente, cliquez sur Scheduling dans le volet de droite pour configurer ses propriétés de planification :
Configurez les propriétés de planification de base. Pour plus d'informations, consultez la rubrique Configurer les propriétés de base.
-
Configurez le cycle de planification, les propriétés de réexécution et les dépendances. Pour plus d'informations, consultez les rubriques Configurer les propriétés temporelles et Configurer les dépendances de planification intra-cycle.
RemarqueConfigurez les propriétés Rerun attribute et spécifiez les Parent Nodes avant de valider le nœud.
Configurez les propriétés des ressources. Pour plus d'informations, consultez la rubrique Configurer les propriétés des ressources. Si la tâche doit accéder à Internet public ou à un VPC, sélectionnez un groupe de ressources de planification disposant de la connectivité réseau nécessaire. Pour plus d'informations, consultez la rubrique Solutions de connectivité réseau.
Étape 4 : Déboguer le code
-
(Facultatif) Sélectionnez un groupe de ressources d'exécution et attribuez des valeurs aux paramètres personnalisés.
Dans la barre d'outils, cliquez sur l'icône
. Dans la boîte de dialogue Parameter , sélectionnez le groupe de ressources à utiliser pour le débogage.Si le code de votre tâche utilise des paramètres de planification, attribuez-leur des valeurs ici pour le débogage. Pour plus d'informations sur la logique d'attribution des valeurs, consultez la rubrique Quelle est la différence de logique d'attribution des valeurs entre Exécuter, Exécution avancée et les tests de fumée dans l'environnement de développement ?.
-
Enregistrez et exécutez les instructions SQL.
Dans la barre d'outils, cliquez sur l'icône
pour enregistrer les instructions SQL, puis cliquez sur l'icône
pour exécuter la tâche. -
(Facultatif) Effectuez des tests de fumée.
Effectuez des tests de fumée dans l'environnement de développement lors du processus de validation ou après avoir validé le nœud. Pour plus d'informations, consultez la rubrique Effectuer des tests de fumée.
Étapes suivantes
-
Validez et publiez la tâche du nœud.
Cliquez sur l'icône de la barre d'outils pour enregistrer le nœud.
Cliquez sur l'icône de la barre d'outils pour valider la tâche du nœud.
Dans la boîte de dialogue Commit Node , saisissez une Change Description .
Cliquez sur Determine .
Si vous utilisez un espace de travail en mode standard, publiez la tâche validée dans l'environnement de production. Cliquez sur Task Publishing dans le coin supérieur gauche de la barre de menu supérieure. Pour obtenir des instructions, consultez la rubrique Publier des tâches.
-
Consultez les tâches planifiées périodiquement.
Cliquez sur O&M Personnel dans le coin supérieur droit de l'éditeur pour ouvrir Operation Center pour l'environnement de production.
Pour consulter les tâches périodiques en cours d'exécution, consultez la rubrique Gérer les tâches périodiques .
Pour afficher plus de détails sur les tâches périodiques, cliquez sur Operation Center . Pour plus d'informations, consultez la rubrique Présentation d'Operation Center.
Scénarios connexes
DataWorks fournit des capacités de planification et de surveillance des tâches pour garantir que les jobs Spark sont soumis aux clusters CDH. Cela simplifie les opérations sur les jobs et améliore la gestion des ressources. Voici quelques exemples de cas d'utilisation des tâches Spark :
Analyse des données : utilisez les API Spark SQL, Dataset et DataFrame pour effectuer des agrégations, des filtrages et des transformations complexes afin d'extraire des informations pertinentes de vos données.
Traitement de flux : utilisez Spark Streaming pour traiter des flux de données en temps réel en vue d'une analyse et d'une prise de décision immédiates.
Apprentissage automatique : utilisez Spark MLlib pour le prétraitement des données, l'extraction de caractéristiques, l'entraînement et l'évaluation des modèles.
ETL à grande échelle : extrayez, transformez et chargez de grands ensembles de données pour préparer les données destinées aux entrepôts de données ou à d'autres systèmes de stockage.