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 las16 CUpara 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
-
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)
-
-
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
Run para probar su código.NotaLos 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.
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 .
-
(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.
NotaA 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.
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
Una vez configurados los ajustes de programación, envíe y despliegue el nodo de Python en el entorno de producción .
Tras el despliegue, la tarea se ejecuta periódicamente según la configuración de programación establecida. Vaya a 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.