Tous les produits
Search
Centre de documentation

DataWorks:Nœud EMR Impala

Dernière mise à jour :Aug 10, 2026

Impala est un moteur de requêtes SQL conçu pour des interrogations interactives, rapides et en temps réel sur des données à l'échelle du pétaoctet. Créez et configurez un nœud EMR Impala dans DataWorks pour le développement de vos données.

Prérequis

  • Créez un cluster Alibaba Cloud EMR et enregistrez-le dans DataWorks. Pour plus d'informations, consultez la rubrique New Data Studio : Associer une ressource de calcul EMR.

  • (Facultatif, pour les utilisateurs RAM) L'utilisateur Resource Access Management (RAM) chargé du développement des tâches doit être ajouté à l'espace de travail et se voir attribuer le rôle Development ou Workspace Administrator (ce rôle inclut des autorisations étendues 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.
  • Configurez une source de données Hive dans DataWorks et assurez-vous que le test de connectivité aboutit. Pour plus d'informations, consultez la rubrique Gestion des sources de données.

Limites

  • Vous ne pouvez exécuter les nœuds EMR Impala que sur un groupe de ressources serverless (recommandé) ou sur un groupe de ressources exclusif pour la planification.

  • Les nœuds EMR Impala s'exécutent uniquement sur les ressources de calcul d'un cluster data lake hérité (Hadoop). DataWorks ne prend plus en charge l'association de nouveaux clusters Hadoop, mais vous pouvez continuer à utiliser les clusters Hadoop déjà associés.

Procédure

  1. Sur la page de l'éditeur de nœud EMR Impala, effectuez les étapes suivantes.

    Développer le code SQL

    Dans l'éditeur SQL, rédigez le code de la tâche. Vous pouvez définir des variables dans votre code en utilisant le format ${nom_variable}. Assignez ensuite une valeur à la variable dans la section Scheduling Parameters de l'onglet Scheduling Settings situé à droite de la page de l'éditeur de nœud. Cette méthode permet de transmettre dynamiquement des paramètres pour les tâches planifiées. Pour plus d'informations sur les paramètres de planification, consultez la rubrique Sources et expressions pour les paramètres de planification. Le code suivant illustre cet exemple :

    SHOW TABLES ; CREATE TABLE IF NOT EXISTS userinfo ( ip STRING COMMENT'IP address', uid STRING COMMENT'User ID' )PARTITIONED BY( dt STRING ); ALTER TABLE userinfo ADD IF NOT EXISTS PARTITION(dt='${bizdate}'); --This can be used with scheduling parameters. SELECT * FROM userinfo ;

    Remarque

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

    (Facultatif) Configurer les paramètres avancés

    À droite de la page, accédez à l'onglet Scheduling Settings . Dans la section EMR Node Parameters > DataWorks parameters , configurez les paramètres spécifiques décrits dans le tableau suivant.

    Remarque
    • Les paramètres avancés disponibles varient selon le type de cluster EMR.

    • Pour configurer d'autres propriétés Spark open source , utilisez la section EMR Node Parameters > Spark parameter de l'onglet Scheduling Settings situé à droite du nœud.

    Cluster DataLake/cluster personnalisé : EMR sur ECS

    Paramètre avancé

    Description

    FLOW_SKIP_SQL_ANALYZE

    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 s'applique uniquement aux exécutions de test dans l'environnement de développement.

    DATAWORKS_SESSION_DISABLE

    Ce paramètre s'applique aux exécutions de test directement dans l'environnement de développement. Valeurs possibles :

    • true : Une nouvelle connexion JDBC est créée à chaque exécution d'une instruction SQL.

    • false (par défaut) : La même connexion JDBC est réutilisée lors de l'exécution de différentes instructions SQL au sein du même nœud.

    Remarque

    Lorsque ce paramètre est défini sur false, l'yarn applicationId Hive n'est pas affiché. Pour afficher l'yarn applicationId , définissez ce paramètre sur true .

    priority

    Priorité. Valeur par défaut : 1.

    queue

    File d'attente de planification à laquelle la tâche est soumise. Valeur par défaut : default. Pour plus d'informations sur EMR YARN, consultez la section Configurations de base des files d'attente.

    Cluster Hadoop : EMR sur ECS

    Paramètre avancé

    Description

    FLOW_SKIP_SQL_ANALYZE

    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 s'applique uniquement aux exécutions de test dans l'environnement de développement.

    USE_GATEWAY

    Indique si la tâche doit être soumise via un cluster Gateway lorsque ce nœud soumet une tâche. Valeurs possibles :

    • true : La tâche est soumise via un cluster Gateway.

    • false (par défaut) : La tâche n'est pas soumise via un cluster Gateway. Par défaut, la tâche est soumise au nœud principal.

    Remarque

    Si le cluster auquel appartient ce nœud n'est pas associé à un cluster Gateway et que vous définissez manuellement ce paramètre sur true , les soumissions de tâches EMR ultérieures échoueront.

    Exécuter la tâche SQL

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

      Remarque
      • Vous pouvez également configurer les CUs for Scheduling en fonction des ressources nécessaires à l'exécution de la tâche. La valeur par défaut est 0.25 UC.

      • Pour accéder aux sources de données dans un environnement de réseau public ou VPC, utilisez un groupe de ressources pour la planification qui a réussi le test de connectivité avec la source de données. Pour plus d'informations, consultez la rubrique Connectivité réseau .

    2. Dans la boîte de dialogue des paramètres de la barre d'outils, sélectionnez la source de données Hive que vous avez créée, puis cliquez sur Run pour exécuter la tâche SQL.

      Remarque

      Lorsque vous utilisez un nœud EMR Impala pour interroger des données, un maximum de 10 000 lignes peut être renvoyé et la taille totale des données ne doit pas dépasser 10 Mo.

    3. Cliquez sur Save pour enregistrer la tâche de nœud.

  2. Pour exécuter la tâche de nœud régulièrement, configurez les paramètres de planification en fonction de vos besoins métier. Pour plus d'informations, consultez la rubrique Configurer les paramètres de planification .

  3. Une fois la tâche de nœud configurée, vous devez la déployer. Pour plus d'informations, consultez la rubrique Déployer un nœud .

  4. Après le déploiement de la tâche, vous pouvez consulter l'état d'exécution de la tâche planifiée dans Operation Center. Pour plus d'informations, consultez la rubrique Afficher les tâches planifiées .

(Facultatif) Afficher les informations de lignage

Pour afficher le lignage au niveau des tables et des colonnes pour les tâches EMR Impala dans Data Map, activez les journaux de lignage Impala côté cluster EMR. Cette fonctionnalité prend en charge uniquement les clusters EMR DataLake (les métadonnées HMS et DLF sont prises en charge). Pour plus d'informations, consultez la rubrique Configurer le lignage pour EMR Impala .

Remarque

Cette fonctionnalité fait l'objet d'une version en avant-première. Avant de l'utiliser, soumettez un ticket ou contactez le support technique Alibaba Cloud pour l'activer.

FAQ

  • Q : L'erreur « Impala JDBC Url is Empty » se produit ?

    >>> [ERROR][LauncherFactory]: JobLauncher init Failed!
    java.lang.RuntimeException: Impala JDBC Url is Empty!
        at com.aliyun.emr.dataworks.dcc.launcher.type.ImpalaJobLauncher.initJdbcConnection

    R : Assurez-vous que le service Impala a été ajouté au cluster. Le service Impala est disponible uniquement pour les utilisateurs existants.

  • Q : Une erreur de délai de connexion se produit lors de l'exécution du nœud ?

    EMR execute task failed!
    FAILED: Build connection error! Could not open client transport with JDBC Uri: jdbc:hive2://<host>:21050/;auth=noSasl: java.net.ConnectException: Connection timed out (Connection timed out)

    R : Assurez-vous que le groupe de ressources et le cluster peuvent se connecter entre eux via le réseau. Accédez à la liste des ressources de calcul et cliquez sur Resource Initialization. Dans la boîte de dialogue qui s'affiche, cliquez sur Re-initialize . Vérifiez que l'initialisation a réussi.