Tous les produits
Search
Centre de documentation

DataWorks:Exécuter des scripts Python sur des nœuds Shell

Dernière mise à jour :Aug 10, 2026

DataWorks vous permet d'exécuter des scripts Python sur des nœuds Shell. Cette rubrique explique comment exécuter des scripts Python 2 et Python 3 sur des nœuds Shell standard et des nœuds EMR Shell.

Contexte

DataWorks vous permet de télécharger des scripts Python en tant que ressources. Spécifiez ensuite le chemin de l'interpréteur pour Python 2 ou Python 3 dans un nœud Shell standard ou un nœud EMR Shell, puis exécutez le script en référençant la ressource téléchargée.

Prérequis

  • Respectez les prérequis pour l'utilisation d'un nœud EMR Shell. Pour plus d'informations, consultez la section Prérequis pour l'utilisation d'un nœud EMR Shell.

  • Respectez les prérequis pour l'utilisation d'un nœud Shell standard. Pour plus d'informations, consultez la section Prérequis pour l'utilisation d'un nœud Shell standard.

  • Si votre script Python nécessite des packages tiers, préparez l'environnement sur le groupe de ressources. La méthode dépend du type de groupe de ressources :

    • Groupe de ressources serverless (recommandé) : installez les packages tiers via la gestion des images. Pour plus d'informations, consultez la section Images personnalisées.

    • Groupe de ressources exclusif pour la planification : installez les packages tiers à l'aide d'O&M Assistant. Pour plus d'informations, consultez la section O&M Assistant.

    Remarque

    Lorsque vous créez un package tiers, assurez-vous qu'il prend en charge à la fois Python 2 et Python 3.

Limites

Exécuter des scripts Python sur des nœuds Shell

DataWorks vous permet d'exécuter des scripts Python en référençant des ressources depuis un nœud Shell standard ou un nœud EMR Shell. Les chemins des interpréteurs varient selon la version de Python. Par exemple :

  • Python 2 : python xx.py

  • Python 3 : /home/tops/bin/python3 xx.py

Nœud Shell standard

  1. Créez une ressource.

    1. Accédez à la page DataStudio.

      Connectez-vous à la console DataWorks. Basculez vers la région cible et cliquez sur Data Modeling and Development > Data Studio dans le volet de navigation de gauche. Dans la liste déroulante, sélectionnez l'espace de travail cible et cliquez sur Go to DataStudio.

    2. Créez une ressource Python MaxCompute.

      Sur la page DataStudio, cliquez avec le bouton droit sur le workflow cible et choisissez Create Resource. Dans le répertoire MaxCompute, sélectionnez le type de ressource Python et créez une ressource nommée mc.py.

      Remarque

      Le nom de la ressource mc.py est donné à titre d'exemple. Vous pouvez spécifier un nom adapté à vos besoins métier.

    3. Modifiez la ressource Python MaxCompute.

      Sur la page de configuration de la ressource, modifiez le code. Exemple de code :

      Python 3

      print('This is a test text')

      Python 2

      print "This is a test text"
    4. Cliquez sur 保存 et 提交 pour enregistrer et valider la ressource.

  2. Référencez la ressource.

    1. Créez un nœud Shell standard.

      Sur la page DataStudio, cliquez avec le bouton droit sur le workflow cible et choisissez Create Node. Dans le répertoire General, sélectionnez Shell.

    2. Référencez la ressource.

      Sur la page d'édition d'un nœud Shell standard, sous le nœud MaxCompute > Resources, recherchez la ressource mc.py associée à l'option Insert Resource Path, cliquez dessus avec le bouton droit et sélectionnez Insert Resource Path.

      La ressource est désormais référencée dans l'éditeur de code :

      ##@resource_reference{"mc.py"}
      mc.py
  3. Vérifiez le résultat.

    Python 3

    1. Modifiez le nœud Shell standard.

      Dans le nœud Shell standard, ajoutez le chemin de l'interpréteur Python 3 :

      ##@resource_reference{"mc.py"}
      /home/tops/bin/python3 mc.py
    2. Cliquez sur l'icône image, sélectionnez un groupe de ressources et une image personnalisée, puis exécutez la tâche.

      ################################# End run custom-script. ##################################
      This is a test text
      2024-10-21 17:33:18 INFO ======================================================================
      2024-10-21 17:33:18 INFO Exit code of the Shell command 0
      2024-10-21 17:33:18 INFO --- Invocation of Shell command completed ---
      2024-10-21 17:33:18 INFO Shell run successfully!
      2024-10-21 17:33:18 INFO Current task status: FINISH
      2024-10-21 17:33:18 INFO Cost time is: 2.628s

    Python 2

    1. Modifiez le nœud Shell standard.

      Dans le nœud Shell standard, ajoutez le chemin de l'interpréteur Python 2 :

      ##@resource_reference{"mc.py"}
      python mc.py
    2. Cliquez sur l'icône image, sélectionnez un groupe de ressources et une image personnalisée, puis exécutez la tâche.

      image

Nœud Shell EMR

  1. Créez une ressource.

    1. Accédez à la page DataStudio.

      Connectez-vous à la console DataWorks. Basculez vers la région cible et cliquez sur Data Modeling and Development > Data Studio dans le volet de navigation de gauche. Dans la liste déroulante, sélectionnez l'espace de travail cible et cliquez sur Go to DataStudio.

    2. Créez une ressource de type fichier EMR.

      Sur la page DataStudio, cliquez avec le bouton droit sur le workflow cible et choisissez Create Resource. Dans le répertoire EMR, sélectionnez File. Sélectionnez un Storage path et cliquez sur Click Upload pour télécharger votre script local emr.py. Exemple de contenu du script :

      Python 3

      print('This is a test text')

      Python 2

      print "This is a test text"
      Remarque

      Le nom de la ressource emr.py est donné à titre d'exemple. Vous pouvez spécifier un nom adapté à vos besoins métier.

    3. Cliquez sur 提交 pour valider la ressource.

  2. Référencez la ressource.

    1. Créez un nœud EMR Shell.

      Sur la page DataStudio, cliquez avec le bouton droit sur le workflow cible et choisissez Create Node. Dans le répertoire EMR, sélectionnez EMR Shell.

    2. Référencez la ressource de type fichier EMR.

      Sur la page de configuration du nœud EMR Shell, recherchez la ressource emr.py sous EMR > Resources. Cliquez avec le bouton droit sur la ressource et sélectionnez Insert Resource Path.

      La ressource est désormais référencée dans l'éditeur de code :

      ##@resource_reference{"emr.py"}
      emr.py
  3. Vérifiez le résultat.

    Python 3

    1. Modifiez le nœud EMR Shell.

      Dans le nœud EMR Shell, ajoutez le chemin d'exécution de la commande Python 3 /home/tops/bin/python3.

      ##@resource_reference{"emr.py"}
      /home/tops/bin/python3 emr.py
    2. Cliquez sur l'icône image, sélectionnez un groupe de ressources et une image personnalisée, puis exécutez la tâche.

      >>> [2024-10-21 17:51:29][INFO    ][CommandExecutor        ]: Process start to execute...
      Process Output>>> This is a test text
      >>> [2024-10-21 17:51:29][INFO    ][CommandExecutor        ]: Process is exited with exit value 0
      >>> [2024-10-21 17:51:29][INFO    ][CommandExecutor        ]: Command state update to COMPLETED
      >>> [2024-10-21 17:51:29][INFO    ][CommandExecutor        ]: Process execute finished
      >>> [2024-10-21 17:51:29][INFO    ][EmrDccJobSubmitter     ]: Job Completed, status=0
      
      2024-10-21 17:51:29  INFO ============================================================
      2024-10-21 17:51:29 INFO Exit code of the Shell command 0
      2024-10-21 17:51:29 INFO --- Invocation of Shell command completed ---
      2024-10-21 17:51:29 INFO Shell run successfully!
      2024-10-21 17:51:29 INFO Current task status: FINISH
      2024-10-21 17:51:29 INFO Cost time is: 17.667s

    Python 2

    1. Modifiez le nœud EMR Shell.

      Dans le nœud EMR Shell, ajoutez le chemin d'exécution python pour la commande Python 2.

      ##@resource_reference{"emr.py"}
      python emr.py
    2. Cliquez sur l'icône image, sélectionnez un groupe de ressources et une image personnalisée, puis exécutez la tâche.

      image