Tous les produits
Search
Centre de documentation

DataWorks:Nœud Serverless Spark SQL

Dernière mise à jour :Aug 10, 2026

Créez un nœud Serverless Spark SQL pour traiter des données structurées à l'aide d'un moteur de requête SQL distribué basé sur une ressource de calcul EMR Serverless Spark. Cette approche améliore l'efficacité d'exécution des tâches.

Remarques relatives à l'utilisation

  • Limitations des ressources de calcul : Seules les ressources de calcul EMR Serverless Spark liées sont prises en charge. Assurez-vous que le groupe de ressources et la ressource de calcul peuvent communiquer via le réseau.

  • Contraintes du groupe de ressources : Seuls les groupes de ressources serverless peuvent exécuter ce type de tâche.

  • (Facultatif, pour les utilisateurs RAM) L'utilisateur Resource Access Management (RAM) chargé du développement de la tâche doit être ajouté à l'espace de travail et recevoir le rôle Development ou Workspace Administrator (ce rôle inclut de nombreuses autorisations et doit être accordé avec prudence). Pour plus d'informations, consultez la rubrique Ajouter des membres à un espace de travail.

    Si vous utilisez un compte racine, ignorez cette étape.

Créer un nœud

Pour obtenir des instructions, consultez la rubrique Créer un nœud.

Développer le nœud

Développez le code de votre tâche dans l'éditeur SQL. La syntaxe prend en charge le format catalog.database.tablename. Si vous omettez catalog, le Data Catalog par défaut du cluster est utilisé. Si vous omettez catalog.database, la base de données par défaut du Data Catalog par défaut du cluster est utilisée.

Pour plus d'informations sur Data Catalog, consultez la rubrique Gérer un Data Catalog dans EMR Serverless Spark .

-- Replace <catalog.database.tablename> with your actual identifiers. SELECT * FROM <catalog.database.tablename>

Définissez des variables dans votre code en utilisant le format ${nom_variable}. Ensuite, attribuez des valeurs à ces variables dans la section Scheduling Parameters du volet Scheduling Settings. Cela permet le passage dynamique de paramètres dans les scénarios planifiés. Pour plus d'informations sur les paramètres de planification, consultez la rubrique Sources et expressions des paramètres de planification. Le code suivant fournit un exemple.

SHOW TABLES; -- Use ${var} to define a variable named var. If you assign the value ${yyyymmdd} to this variable, you can use a scheduled task to create a table with the business date as a suffix. CREATE TABLE IF NOT EXISTS userinfo_new_${var} ( ip STRING COMMENT'IP address', uid STRING COMMENT'User ID' )PARTITIONED BY( dt STRING ); --This can be used with scheduling parameters.

Remarque

Une instruction SQL ne peut pas dépasser 130 Ko.

Déboguer le nœud

  1. Dans la section Run Configuration, sélectionnez une Compute Resource et un Resource Group.

    Paramètre

    Description

    Compute Resource

    Sélectionnez une ressource de calcul EMR Serverless Spark liée. Si aucune ressource de calcul n'est disponible, sélectionnez Create Compute Resource dans la liste déroulante.

    Resource Group

    Sélectionnez un groupe de ressources associé à l'espace de travail.

    Script Parameters

    Lorsque vous configurez le contenu du nœud, définissez des variables en utilisant le format ${nom_parametre}. Ensuite, configurez le Operation and Maintenance Center et la Session Management dans la section Running. Ces variables sont remplacées dynamiquement par des valeurs réelles au moment de l'exécution. Pour plus d'informations, consultez la rubrique Sources et expressions des paramètres de planification.

    ServerlessSpark Node Parameters

    Paramètres d'exécution Spark. Les types suivants sont pris en charge :

  2. Dans la barre d'outils située en haut de l'éditeur de nœud, cliquez sur Operation and Maintenance Center pour exécuter la tâche SQL.

    Important

    Avant le déploiement, synchronisez les Resource Management depuis la section Parameter name vers les Parameter Value dans la section Script Parameters.

Modes d'exécution SQL

DataWorks propose deux modes d'exécution SQL : l'exécution au sein du nœud et l'exécution depuis le panneau de workflow. Ces deux modes ont des contextes d'exécution différents et peuvent produire des résultats distincts.

  • Exécuter au sein du nœud : Sélectionnez toutes les instructions SQL dans l'éditeur SQL et cliquez sur Exécuter. Seules les instructions SQL sélectionnées sont exécutées. Ce mode utilise la ressource de calcul et les paramètres configurés pour le nœud et ne déclenche pas de relations de dépendance avec les nœuds en amont ou en aval.

  • Exécuter depuis le panneau de workflow : Cliquez avec le bouton droit sur le nœud actuel dans le panneau de workflow et exécutez le nœud actuel ainsi que ses nœuds en aval. Le nœud actuel et tous ses nœuds en aval sont exécutés séquentiellement en fonction des dépendances de planification. Ce mode utilise la ressource de calcul et les paramètres spécifiés dans les paramètres de planification, qui peuvent différer de l'environnement d'exécution lors de l'exécution au sein du nœud.

Les causes courantes des différences entre les deux modes incluent des valeurs de paramètres de planification différentes, des configurations de ressources de calcul incohérentes et le fait que la sortie des nœuds en amont affecte le contexte d'exécution du nœud actuel. Pour résoudre les problèmes, comparez les paramètres de planification et les configurations de ressources de calcul utilisés par les deux modes.

Étapes suivantes

  • Configurer la planification des nœuds : Si vous devez exécuter un nœud périodiquement, configurez sa Run dans le volet Serverlessspark Node Parameters situé à droite.

  • Publier un nœud : Pour exécuter une tâche dans l'environnement de production, cliquez sur l'icône image pour publier le nœud. Un nœud ne s'exécute selon la planification qu'après avoir été publié dans l'environnement de production.

  • O&M des tâches : Une fois une tâche publiée, surveillez ses exécutions périodiques dans Operation Center. Pour plus d'informations, consultez la rubrique Prise en main d'Operation Center.

Annexe : Paramètres DataWorks

Paramètre avancé

Description

FLOW_SKIP_SQL_ANALYZE

Le mode d'exécution des instructions SQL. Valeurs possibles :

  • true : Plusieurs instructions SQL sont exécutées simultanément.

  • false (par défaut) : Une seule instruction SQL est exécutée à la fois.

Remarque

Ce paramètre est pris en charge uniquement pour les exécutions de test dans l'environnement de développement de données.

DATAWORKS_SESSION_DISABLE

La méthode de soumission de la tâche. Lors du développement de données, les tâches sont soumises à SQL Compute pour exécution par défaut. Vous pouvez utiliser ce paramètre pour spécifier si la tâche est exécutée via SQL Compute ou soumise à une file d'attente pour exécution.

  • true : La tâche est soumise à une file d'attente pour exécution. Par défaut, la file d'attente par défaut spécifiée lors de l'association de la ressource de calcul est utilisée. Lorsque DATAWORKS_SESSION_DISABLE est défini sur true, vous pouvez configurer le paramètre SERVERLESS_QUEUE_NAME pour spécifier la file d'attente à laquelle les tâches sont soumises lors du développement de données.

  • false (par défaut) : La tâche est soumise à SQL Compute pour exécution.

    Remarque

    Ce paramètre prend effet uniquement lors de l'exécution du développement de données, pas lors des exécutions planifiées.

SERVERLESS_RELEASE_VERSION

La version du moteur Spark. Par défaut, la Run Configuration configurée dans les paramètres du cluster sous Serverlessspark Node Parameters dans Scheduling Settings est utilisée. Pour définir une version de moteur différente pour une tâche spécifique, configurez ce paramètre.

Remarque

Le paramètre SERVERLESS_RELEASE_VERSION dans les configurations avancées prend effet uniquement lorsque SQL Compute (session) spécifié pour le cluster enregistré est à l'état arrêté dans la console EMR Serverless Spark.

SERVERLESS_QUEUE_NAME

La file d'attente de ressources à laquelle les tâches sont soumises. Lorsqu'une tâche est configurée pour être soumise à une file d'attente pour exécution, la Scheduling Policy configurée dans les paramètres du cluster sous Scheduling Settings dans Default Engine Version est utilisée par défaut. Si vous avez des exigences d'isolation et de gestion des ressources, vous pouvez ajouter des files d'attente. Pour plus d'informations, consultez la rubrique Gérer les files d'attente de ressources.

Méthodes de configuration :

  • Spécifiez la file d'attente de ressources pour la soumission des tâches en configurant les paramètres du nœud.

  • Spécifiez la file d'attente de ressources pour la soumission des tâches en configurant les paramètres Spark globaux.

Remarque
  • Le paramètre SERVERLESS_QUEUE_NAME dans les configurations avancées prend effet uniquement lorsque SQL Compute (session) spécifié pour le cluster enregistré est à l'état arrêté dans la console EMR Serverless Spark.

  • Lors de l'exécution du développement de données : Vous devez d'abord définir DATAWORKS_SESSION_DISABLE sur true afin que les tâches soient soumises à une file d'attente pour exécution. Ce n'est qu'alors que le paramètre SERVERLESS_QUEUE_NAME prend effet pour spécifier la file d'attente des tâches.

  • Lors de l'exécution planifiée d'Operation Center : Les tâches sont obligatoirement soumises à une file d'attente pour exécution et ne peuvent pas être soumises à SQL Compute.

SERVERLESS_SQL_COMPUTE

SQL Compute (session SQL) à utiliser. Par défaut, la Compute Resource configurée dans les paramètres du cluster sous Management Center dans Default Resource Queue est utilisée. Pour définir une session SQL différente pour une tâche spécifique, configurez ce paramètre. Pour savoir comment créer et gérer des sessions SQL, consultez la rubrique Gérer les sessions SQL Compute.

Autres

Paramètres personnalisés Spark Configuration. Ajoutez des paramètres de propriété spécifiques à Spark.

Format de configuration : "spark.eventLog.enabled": false. DataWorks ajoute automatiquement les paramètres au code soumis au cluster EMR au format : --conf key=value.

Remarque

DataWorks vous permet de configurer des paramètres Spark globaux au niveau de l'espace de travail pour chaque module DataWorks. Vous pouvez spécifier si la priorité des paramètres Spark globaux est supérieure à celle des paramètres Spark configurés au sein d'un module spécifique. Pour plus d'informations sur la configuration des paramètres Spark globaux, consultez la rubrique Configurer les paramètres Spark globaux.