Les nœuds EMR Presto vous permettent d'écrire des requêtes SQL Presto pour un cluster Alibaba Cloud E-MapReduce (EMR) et de les exécuter selon une planification récurrente dans DataWorks.
Limites
| Contrainte | Détails |
|---|---|
| Type de cluster | Uniquement les clusters de lac de données Hadoop hérités. Les clusters DataLake et Custom ne sont pas pris en charge. |
| Groupe de ressources | Groupe de ressources serverless ou groupe de ressources dédié pour la planification. Privilégiez l'utilisation d'un groupe de ressources serverless. |
| Taille de l'instruction SQL | Chaque instruction SQL ne doit pas dépasser 130 Ko. |
| Résultats de la requête | Une seule requête renvoie au maximum 10 000 enregistrements et 10 Mo de données. |
| Lignage des données | Non pris en charge pour les nœuds EMR Presto. |
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Un cluster EMR créé et enregistré dans DataWorks. Consultez la rubrique DataStudio (ancienne version) : Associer une ressource de calcul EMR
(Si vous utilisez un utilisateur RAM) L'utilisateur RAM a été ajouté à l'espace de travail avec le rôle Develop ou Workspace Administrator. Le rôle Workspace Administrator accorde plus d'autorisations que nécessaire pour cette tâche ; attribuez-le avec prudence. Consultez la rubrique Ajouter des membres à un espace de travail et leur attribuer des rôles
Un groupe de ressources serverless acheté et configuré avec l'association à l'espace de travail et les paramètres réseau. Consultez la rubrique Créer et utiliser un groupe de ressources serverless
Un workflow créé dans DataStudio. Consultez la rubrique Créer un workflow
Étape 1 : Créer un nœud EMR Presto
Accédez à la page DataStudio. Connectez-vous à la console DataWorks. Dans la barre de navigation supérieure, sélectionnez la région. Dans le volet de navigation de gauche, choisissez Data Development and O&M > Data Development. Sélectionnez votre espace de travail dans la liste déroulante et cliquez sur Go to Data Development.
-
Dans le répertoire du workflow, cliquez avec le bouton droit sur le workflow cible et choisissez Create Node > EMR > EMR Presto.
Vous pouvez également survoler Create et sélectionner Create Node > EMR > EMR Presto .
-
Dans la boîte de dialogue Create Node, configurez les champs suivants et cliquez sur Confirm. L'onglet de configuration du nœud EMR Presto s'ouvre.
Champ Description Name Nom du nœud. Caractères autorisés : lettres majuscules, lettres minuscules, caractères chinois, chiffres, traits de soulignement ( _) et points (.).Engine Instance Ressource de calcul EMR à associer à ce nœud. Node Type Type de nœud de calcul à utiliser. Path Emplacement dans la structure de répertoires du workflow.
Étape 2 : Développer une tâche EMR Presto
Double-cliquez sur le nœud que vous avez créé. La page de développement de la tâche s'ouvre, vous permettant d'écrire du code SQL, de configurer des paramètres avancés et d'exécuter la tâche.
Développer le code SQL
Rédigez du code SQL Presto dans l'éditeur SQL. Utilisez la syntaxe ${variable_name} pour définir des variables dans votre code. Attribuez des valeurs à ces variables sous Scheduling Configuration > Scheduling Parameters dans le panneau de droite, au format key=value. Cela vous permet de transmettre des valeurs dynamiques lors de la planification sans modifier le code.
Exemple :
select '${var}'; -- ${var} is resolved at run time from Scheduling Parameters
select * from userinfo;
Pour attribuer une valeur à var : ouvrez Scheduling Configuration > Scheduling Parameters et ajoutez une entrée telle que var=2024-01-01. Pour connaître les formats de paramètres pris en charge, consultez la rubrique Formats pris en charge des paramètres de planification.
Si plusieurs ressources de calcul EMR sont associées à votre espace de travail, sélectionnez celle à utiliser pour ce nœud. Si une seule ressource est associée, aucune sélection n'est nécessaire.
Pour tester la résolution des paramètres avant la planification, cliquez sur Run With Parameters dans la barre d'outils supérieure. Pour plus de détails sur les différences d'attribution des valeurs de paramètres entre les options Run, Run with Parameters et les tests de fumée, consultez la rubrique Différences dans la logique d'attribution des paramètres.
Configurer les paramètres avancés (facultatif)
Cluster Hadoop : EMR sur ECS
Dans la section Advanced Settings, définissez les paramètres suivants pour contrôler le comportement d'exécution SQL et le routage de la soumission des tâches. Pour plus d'informations sur la configuration des paramètres, consultez la documentation Spark Configuration. Ces paramètres s'appliquent aux clusters Hadoop (EMR sur ECS).
| Paramètre | Valeurs | Par défaut | Description |
|---|---|---|---|
FLOW_SKIP_SQL_ANALYZE |
true / false |
false |
Contrôle l'exécution des instructions SQL. true : exécute toutes les instructions en un seul lot. false : exécute une instruction à la fois. S'applique uniquement aux exécutions de test dans l'environnement de développement. |
USE_GATEWAY |
true / false |
false |
Contrôle le routage de la soumission des tâches. true : soumet les tâches via un cluster passerelle. false : soumet les tâches directement au nœud principal. Définir ce paramètre sur true lorsqu'aucun cluster passerelle n'est associé entraîne l'échec de la soumission de la tâche. |
Exécuter la tâche SQL
-
Dans la barre d'outils, cliquez sur l'icône

. Dans la boîte de dialogue Parameters, sélectionnez le groupe de ressources de planification et cliquez sur Run.Le groupe de ressources doit avoir réussi un test de connectivité avec le cluster EMR. Pour accéder aux ressources de calcul via Internet public ou au sein d'un VPC, vérifiez d'abord la connectivité. Consultez la rubrique Solutions de connectivité réseau .
Cliquez sur l'icône

pour enregistrer votre code SQL.(Facultatif) Effectuez des tests de fumée. Les tests de fumée dans l'environnement de développement peuvent être déclenchés lors de la soumission du nœud ou après celle-ci. Consultez la rubrique Effectuer des tests de fumée.
Étape 3 : Configurer les propriétés de planification
Pour exécuter la tâche selon une planification récurrente, cliquez sur Properties dans le volet de navigation de droite et configurez les paramètres de planification.
Configurez les paramètres Rerun et Parent Nodes avant de valider la tâche.
Pour une référence complète des options de planification, consultez la rubrique Vue d'ensemble.
Étape 4 : Déployer la tâche
Cliquez sur l'icône

pour enregistrer la tâche.-
Cliquez sur l'icône

pour valider la tâche. Dans la boîte de dialogue Submit, saisissez une Change description. Si la révision de code est activée dans votre espace de travail, la tâche ne peut être déployée qu'après validation du code soumis. Consultez la rubrique Révision de code.Configurez les paramètres Rerun et Parent Nodes dans l'onglet Properties avant la validation.
(Uniquement pour les espaces de travail en mode standard) Déployez la tâche dans l'environnement de production. Cliquez sur Deploy dans le coin supérieur droit de l'onglet de configuration du nœud. Consultez la rubrique Déployer des nœuds.
Étapes suivantes
Une fois la tâche validée et déployée, elle s'exécute automatiquement selon votre configuration de planification. Pour surveiller l'état de la planification, cliquez sur Operation Center dans le coin supérieur droit de l'onglet de configuration du nœud. Consultez la rubrique Afficher et gérer les tâches déclenchées automatiquement.
FAQ
Pourquoi l'erreur « Error executing query » s'affiche-t-elle ?

Cette erreur se produit lorsque le type de cluster n'est pas pris en charge. Les nœuds EMR Presto fonctionnent uniquement avec les clusters de lac de données Hadoop hérités ; les clusters DataLake et Custom ne sont pas pris en charge.
Pour résoudre ce problème :
Dans DataStudio, accédez à la liste des ressources de calcul.
Vérifiez que le cluster enregistré dans votre espace de travail est un cluster de lac de données Hadoop hérité.
Pourquoi un délai d'expiration de connexion se produit-il lors de l'exécution du nœud ?
Cela indique un problème de connectivité réseau entre le groupe de ressources et le cluster EMR.
Pour résoudre ce problème :
Dans DataStudio, accédez à la page de liste des ressources de calcul.
-
Recherchez la ressource et cliquez sur Re-initialize.


Confirmez que l'initialisation s'est terminée avec succès, puis réessayez d'exécuter la tâche.
Si le problème persiste, vérifiez que le groupe de ressources a réussi un test de connectivité avec le cluster EMR. Consultez la rubrique Solutions de connectivité réseau.