Todos los productos
Search
Centro de documentos

DataWorks:Ejecutar scripts de Python en nodos shell

Última actualización: Sep 04, 2026

DataWorks permite ejecutar scripts de Python en nodos shell. Este tema explica cómo ejecutar scripts de Python 2 y Python 3 en nodos shell comunes y nodos EMR Shell.

Contexto

DataWorks permite cargar scripts de Python como recursos. Posteriormente, puede especificar la ruta del intérprete para Python 2 o Python 3 en un nodo shell común o en un nodo EMR Shell y ejecutar el script mediante una referencia al recurso cargado.

Requisitos previos

  • Cumpla con los requisitos previos para usar un nodo EMR Shell. Para obtener más información, consulte Prerequisites for using an EMR Shell node.

  • Cumpla con los requisitos previos para usar un nodo shell común. Para obtener más información, consulte Prerequisites for using a common shell node.

  • Si su script de Python requiere paquetes de terceros, debe preparar el entorno en el resource group. El método depende del tipo de resource group:

    • serverless resource group (recomendado): instale paquetes de terceros mediante la gestión de imágenes. Para obtener más información, consulte Custom images.

    • exclusive resource group for scheduling: instale paquetes de terceros mediante O&M Assistant. Para obtener más información, consulte O&M Assistant.

    Nota

    Al crear un paquete de terceros, asegúrese de que el tipo de paquete sea compatible tanto con Python 2 como con Python 3.

Límites

Ejecutar scripts de Python en nodos shell

DataWorks permite ejecutar scripts de Python haciendo referencia a recursos desde un nodo shell común o un nodo EMR Shell. Las rutas del intérprete varían según la versión de Python. Por ejemplo:

  • Python 2: python xx.py

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

Nodo shell común

  1. Cree un recurso.

    1. Vaya a la página DataStudio.

      Inicie sesión en la consola de DataWorks. Cambie a la región objetivo y haga clic en Data Modeling and Development > Data Studio en el panel de navegación izquierdo. En la lista desplegable, seleccione el espacio de trabajo objetivo y haga clic en Go to DataStudio.

    2. Cree un recurso de Python de MaxCompute.

      En la página DataStudio, haga clic con el botón derecho en el flujo de trabajo objetivo y elija Create Resource. En el directorio MaxCompute, seleccione el tipo de recurso Python y cree un recurso llamado mc.py.

      Nota

      El nombre del recurso mc.py es un ejemplo. Puede especificar un nombre según sus necesidades empresariales.

    3. Edite el recurso de Python de MaxCompute.

      En la página de configuración del recurso, edite el código. Código de ejemplo:

      Python 3

      print('This is a test text')

      Python 2

      print "This is a test text"
    4. Haga clic en 保存 y en 提交 para guardar y confirmar el recurso.

  2. Haga referencia al recurso.

    1. Cree un nodo shell común.

      En la página DataStudio, haga clic con el botón derecho en el flujo de trabajo objetivo y elija Create Node. En el directorio General, seleccione Shell.

    2. Haga referencia al recurso.

      En la página de edición del nodo shell común, bajo el nodo MaxCompute > Resources, localice el elemento pendiente Insert Resource Path mc.py y haga clic con el botón derecho para seleccionar Insert Resource Path.

      El recurso ahora se encuentra referenciado en el editor de código:

      ##@resource_reference{"mc.py"}
      mc.py
  3. Compruebe el resultado.

    Python 3

    1. Edite el nodo shell común.

      En el nodo shell común, agregue la ruta del intérprete de Python 3:

      ##@resource_reference{"mc.py"}
      /home/tops/bin/python3 mc.py
    2. Haga clic en el icono image, seleccione un resource group y una imagen personalizada, y luego ejecute la tarea.

      ################################# 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. Edite el nodo shell común.

      En el nodo shell común, agregue la ruta del intérprete de Python 2:

      ##@resource_reference{"mc.py"}
      python mc.py
    2. Haga clic en el icono image, seleccione un resource group y una imagen personalizada, y luego ejecute la tarea.

      image

Nodo EMR Shell

  1. Cree un recurso.

    1. Vaya a la página DataStudio.

      Inicie sesión en la consola de DataWorks. Cambie a la región objetivo y haga clic en Data Modeling and Development > Data Studio en el panel de navegación izquierdo. En la lista desplegable, seleccione el espacio de trabajo objetivo y haga clic en Go to DataStudio.

    2. Cree un recurso EMR File.

      En la página DataStudio, haga clic con el botón derecho en el flujo de trabajo objetivo y elija Create Resource. En el directorio EMR, seleccione File. Seleccione una Storage path y haga clic en Click Upload para cargar su script local emr.py. Contenido de ejemplo del script:

      Python 3

      print('This is a test text')

      Python 2

      print "This is a test text"
      Nota

      El nombre del recurso emr.py es un ejemplo. Puede especificar un nombre según sus necesidades empresariales.

    3. Haga clic en 提交 para confirmar el recurso.

  2. Haga referencia al recurso.

    1. Cree un nodo EMR Shell.

      En la página DataStudio, haga clic con el botón derecho en el flujo de trabajo objetivo y elija Create Node. En el directorio EMR, seleccione EMR Shell.

    2. Haga referencia al recurso EMR File.

      En la página de configuración del nodo EMR Shell, localice el recurso emr.py bajo EMR > Resources. Haga clic con el botón derecho en el recurso y seleccione Insert Resource Path.

      El recurso ahora se encuentra referenciado en el editor de código:

      ##@resource_reference{"emr.py"}
      emr.py
  3. Compruebe el resultado.

    Python 3

    1. Edite el nodo EMR Shell.

      En el nodo EMR Shell, agregue la ruta de ejecución del comando de Python 3: /home/tops/bin/python3.

      ##@resource_reference{"emr.py"}
      /home/tops/bin/python3 emr.py
    2. Haga clic en el icono image, seleccione un resource group y una imagen personalizada, y luego ejecute la tarea.

      >>> [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. Edite el nodo EMR Shell.

      En el nodo EMR Shell, agregue la ruta de ejecución python para el comando de Python 2.

      ##@resource_reference{"emr.py"}
      python emr.py
    2. Haga clic en el icono image, seleccione un resource group y una imagen personalizada, y luego ejecute la tarea.

      image