Todos los productos
Search
Centro de documentos

DataWorks:Nodo de Python

Última actualización: Sep 04, 2026

Los nodos de Python admiten la sintaxis de Python 3 (no Python 2) y permiten ejecutar código de Python según una programación periódica en DataWorks.

Requisitos previos

  • El usuario de RAM que desea usar debe estar agregado a su espacio de trabajo.

    Si desea usar un usuario de RAM para desarrollar tareas, agréguelo como miembro a su espacio de trabajo y asígnele el rol Develop o Workspace Administrator. El rol Workspace Administrator otorga más permisos de los necesarios; tenga precaución al asignarlo. Para obtener más información sobre cómo agregar miembros y asignarles roles, consulte Add members to a workspace.

  • Su espacio de trabajo debe tener asociado un resource group serverless. Para más información, consulte los temas del directorio Use serverless resource groups.

  • Cree un nodo de Python antes de comenzar el desarrollo. Para más información, consulte Create a node for a scheduling workflow.

Notas

  • Al ejecutar una tarea con un resource group serverless, cada tarea puede usar un máximo de 64 CU. Sin embargo, no exceda las 16 CU para evitar escasez de recursos que pueda afectar el inicio de la tarea.

  • Un nodo de Python solo proporciona un entorno de ejecución básico. Si su código requiere paquetes de terceros, debe create a custom image, instalar las dependencias en la imagen y luego ejecutar el nodo de Python mediante dicha imagen.

Paso 1: Desarrollar el nodo de Python

  1. Desarrolle el nodo de Python.

    • Edite el código de Python.

      El siguiente ejemplo implementa un algoritmo de ordenamiento de burbuja.

      def bubble_sort(arr):
          n = len(arr)
          # Outer loop controls each traversal
          for i in range(n):
              # Inner loop compares and swaps adjacent elements
              for j in range(0, n-i-1):
                  # If the current element is greater than the next, swap them
                  if arr[j] > arr[j+1]:
                      arr[j], arr[j+1] = arr[j+1], arr[j]
          return arr
      
      # Test code
      if __name__ == "__main__":
          example_list = [64, 34, 25, 12, 22, 11, 90]
          sorted_list = bubble_sort(example_list)
          print("Sorted list:", sorted_list)
  2. Una vez desarrollado el código, haga clic en Run Configuration en el panel derecho. Configure los ajustes para la ejecución de prueba, como el resource group, y luego haga clic en el botón imageRun para probar su código.

    Nota

    Los nodos de Python solo pueden depurarse y programarse mediante un resource group serverless. Asegúrese de que el espacio de trabajo actual tenga asociado un resource group serverless. Para más información, consulte Use serverless resource groups.

  3. Después de desarrollar y probar el script del nodo de Python, configure las propiedades de programación para que el nodo se ejecute periódicamente .

  4. (Opcional) Configure los parámetros de programación.

    Un nodo de Python recibe los parámetros de programación como argumentos de línea de comandos. Agregue los valores de los parámetros en orden, separados por espacios, en la sección de configuración de parámetros de programación. En su código, use sys.argv[1], sys.argv[2], etc., para acceder a cada valor por índice.

    Nota
    • A diferencia de un nodo PyODPS, un nodo de Python no admite la referencia directa a parámetros por nombre, como $var1. Debe leer explícitamente los parámetros mediante sys.argv.

    • Los parámetros de programación se pasan como argumentos de línea de comandos únicamente después de enviar y desplegar el nodo, cuando este se ejecuta como una instancia programada (por ejemplo, en programación periódica o backfill data). Puede leerlos mediante sys.argv. Al ejecutar el nodo directamente en Data Studio (ejecución de depuración), los parámetros de programación no se inyectan; en este caso, sys.argv solo contiene la ruta del script y no es posible recuperar los valores de los parámetros.

    • Ejemplo de definición de parámetros

      $[yyyymmdd] abc
    • Ejemplo de uso de parámetros

      import sys
      
      # Print all received arguments
      print("All received arguments:", sys.argv)
      
      # Get the first and second arguments
      param1 = sys.argv[1]
      param2 = sys.argv[2]
      print("Parameter 1:", param1)
      print("Parameter 2:", param2)

    Para obtener más información sobre la configuración de parámetros de programación, consulte Configure scheduling parameters.

  5. Después de configurar los ajustes de programación, guarde el nodo antes de continuar con el siguiente paso.

Paso 2: Desplegar y gestionar el nodo

  1. Una vez configurados los ajustes de programación, envíe y despliegue el nodo de Python en el entorno de producción .

  2. Tras el despliegue, la tarea se ejecuta periódicamente según la configuración de programación establecida. Vaya a Operation and Maintenance Center > Node O&M > Auto Triggered Task O&M > Auto Triggered Task para consultar las tareas programadas desplegadas y realizar operaciones sobre ellas. Para más información, consulte Manage scheduled tasks.

Desarrollo de tareas en un entorno de desarrollo personal

También puede desarrollar nodos de Python en un entorno de desarrollo personal. Para más detalles, consulte Use a personal development environment.

Ejecutar un nodo mediante un rol asociado

Puede associate a RAM role to run a node, lo cual le permite ejecutar tareas de nodo con un rol de RAM específico para lograr un control de permisos detallado y una gestión de seguridad adecuada.