Les nœuds Python prennent en charge la syntaxe Python 3 (et non Python 2) et vous permettent d'exécuter du code Python selon une planification périodique dans DataWorks.
Prérequis
-
L'utilisateur RAM que vous souhaitez utiliser est ajouté à votre espace de travail.
Pour développer des tâches avec un utilisateur RAM, ajoutez-le en tant que membre à votre espace de travail et attribuez-lui le rôle Develop ou Workspace Administrator. Le rôle Workspace Administrator dispose de plus d'autorisations que nécessaire ; faites preuve de prudence lors de son attribution. Pour savoir comment ajouter un membre et lui attribuer des rôles, consultez la rubrique Ajouter des membres à un espace de travail.
Un groupe de ressources serverless est associé à votre espace de travail. Pour plus d'informations, consultez les rubriques du répertoire Utiliser des groupes de ressources serverless.
Créez un nœud Python avant de commencer le développement. Pour plus d'informations, consultez la rubrique Créer un nœud pour un flux de travail de planification.
Notes
Lorsque vous exécutez une tâche à l'aide d'un groupe de ressources serverless, celle-ci peut utiliser au maximum
64 CU. Toutefois, ne dépassez pas16 CUafin d'éviter les pénuries de ressources susceptibles d'affecter le démarrage des tâches.Un nœud Python fournit uniquement un environnement d'exécution Python de base. Si votre code Python nécessite des packages tiers, vous devez créer une image personnalisée, y installer les dépendances, puis exécuter le nœud Python à l'aide de cette image.
Étape 1 : Développer le nœud Python
-
Développez le nœud Python.
-
Modifiez le code Python.
L'exemple suivant implémente un algorithme de tri à bulles.
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)
-
-
Une fois le code développé, cliquez sur Run Configuration dans le panneau de droite. Configurez les paramètres du test, tels que le groupe de ressources, puis cliquez sur le bouton
Run pour tester votre code.RemarqueLe débogage et la planification des nœuds Python s'effectuent exclusivement via un groupe de ressources serverless. Assurez-vous qu'un groupe de ressources serverless est bien associé à l'espace de travail actuel. Pour plus d'informations, consultez la rubrique Utiliser des groupes de ressources serverless.
Après avoir développé et testé le script du nœud Python, configurez les propriétés de planification pour permettre l'exécution périodique du nœud .
-
(Facultatif) Configurez les paramètres de planification.
Un nœud Python reçoit les paramètres de planification sous forme d'arguments de ligne de commande. Ajoutez les valeurs des paramètres dans l'ordre, en les séparant par des espaces, dans la section de configuration des paramètres de planification. Dans votre code, utilisez
sys.argv[1],sys.argv[2], etc. pour accéder à chaque valeur par son index.RemarqueContrairement à un nœud PyODPS, un nœud Python ne permet pas de référencer directement les paramètres par leur nom (par exemple,
$var1). Vous devez explicitement lire les paramètres à l'aide desys.argv.Les paramètres de planification sont transmis en tant qu'arguments de ligne de commande uniquement après soumission et déploiement du nœud, lorsque celui-ci s'exécute en tant qu'instance planifiée (planification périodique ou remplissage des données). Vous pouvez alors les lire via
sys.argv. Lors d'une exécution directe dans Data Studio (exécution de débogage), les paramètres de planification ne sont pas injectés. Dans ce cas,sys.argvcontient uniquement le chemin du script et vous ne pouvez pas récupérer les valeurs des paramètres.
-
Exemple de définition des paramètres
$[yyyymmdd] abc -
Exemple d'utilisation des paramètres
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)
Pour plus d'informations sur la configuration des paramètres de planification, consultez la rubrique Configurer les paramètres de planification.
Une fois les paramètres de planification configurés, enregistrez le nœud avant de passer à l'étape suivante.
Étape 2 : Déployer et gérer le nœud
Après avoir configuré les paramètres de planification, soumettez et déployez le nœud Python dans l'environnement de production .
Après le déploiement, la tâche s'exécute périodiquement selon les paramètres de planification configurés. Accédez à pour afficher les tâches planifiées déployées et effectuer des opérations dessus. Pour plus d'informations, consultez la rubrique Gérer les tâches planifiées.
Développer des tâches dans un environnement de développement personnel
Vous pouvez également développer des nœuds Python dans un environnement de développement personnel. Pour plus de détails, consultez la rubrique Utiliser un environnement de développement personnel.
Exécuter un nœud à l'aide d'un rôle associé
Vous pouvez associer un rôle RAM pour exécuter un nœud, ce qui vous permet d'exécuter les tâches de nœud avec un rôle RAM spécifique pour un contrôle granulaire des permissions et une gestion sécurisée.