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.
Une instruction SQL ne peut pas dépasser 130 Ko.
Déboguer le nœud
-
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 :
-
Paramètres d'exécution personnalisés DataWorks. Pour plus d'informations, consultez la rubrique Annexe : Paramètres DataWorks.
-
Paramètres de propriété intégrés à Spark. Pour plus d'informations, consultez la rubrique Paramètres de propriété Spark open source. Vous pouvez charger directement un modèle de configuration Spark depuis Serverless Spark sans saisie manuelle, ce qui simplifie le processus de configuration et garantit la cohérence.
-
-
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.
ImportantAvant 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
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 :
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.
|
|
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_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 :
Remarque
|
|
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 : 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. |