Utilisation des paramètres de tâche dans les tâches Ray - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des paramètres de tâche dans les tâches Ray

Vous définissez les arguments pour les tâches AWS Glue Ray de la même manière que vous définissez les arguments pour AWS Glue pour les tâches Spark. Pour plus d'informations sur l'API AWS Glue, consultez Tâches. Vous pouvez configurer les tâches AWS Glue Ray avec différents arguments, répertoriés dans ce document de référence. Vous pouvez également fournir vos propres arguments.

Vous pouvez configurer une tâche via la console, dans l'onglet Job details (Détails de la tâche), sous Job Parameters (Paramètres de la tâche). Vous pouvez également configurer une tâche via la AWS CLI en définissant DefaultArguments sur une tâche ou Arguments dans l'exécution de la tâche. Les arguments par défaut et les paramètres de la tâche restent associés à la tâche au fil des exécutions.

Par exemple, ce qui suit est la syntaxe pour exécuter une tâche en utilisant --arguments pour définir un paramètre spécial.

$ aws glue start-job-run --job-name "CSV to CSV" --arguments='--scriptLocation="s3://my_glue/libraries/test_lib.py",--test-environment="true"'

Après avoir défini les arguments, vous pouvez accéder aux paramètres de la tâche depuis votre tâche Ray via des variables d'environnement. Vous pouvez ainsi configurer votre tâche pour chaque exécution. Le nom de la variable d'environnement correspond au nom de l'argument de la tâche sans le préfixe --.

Par exemple, dans l'exemple précédent, les noms des variables sont scriptLocation et test-environment. Vous pouvez ensuite récupérer l'argument via les méthodes disponibles dans la bibliothèque standard : test_environment = os.environ.get('test-environment'). Pour plus d'informations sur l'accès aux variables d'environnement avec Python, consultez le module os dans la documentation Python.

Configuration de la façon dont les tâches Ray génèrent des journaux

Par défaut, les tâches Ray génèrent des journaux et des métriques qui sont envoyés à CloudWatch et Amazon S3. Vous pouvez utiliser le paramètre --logging_configuration pour modifier la façon dont les journaux sont générés. Vous pouvez actuellement l’utiliser pour empêcher les tâches Ray de générer différents types de journaux. Ce paramètre prend un objet JSON dont les clés correspondent aux journaux/comportements que vous souhaitez modifier. Il prend en charge les clés suivantes :

  • CLOUDWATCH_METRICS : configure les séries de métriques CloudWatch qui peuvent être utilisées pour visualiser l’état de santé de la tâche. Pour plus d'informations sur les métriques, consultez la section Surveiller les tâches Ray à l'aide de métriques.

  • CLOUDWATCH_LOGS : configure les journaux CloudWatch qui fournissent des informations détaillées au niveau de l’application Ray sur le statut d’exécution de la tâche. Pour de plus amples informations sur les journaux, veuillez consulter Dépannage des erreurs AWS Glue pour Ray liées aux journaux.

  • S3 : configure ce qu’AWS Glue écrit sur Amazon S3, principalement des informations similaires aux journaux CloudWatch, mais sous forme de fichiers plutôt que de flux de journaux.

Pour désactiver un comportement de journalisation de Ray, indiquez la valeur {\"IS_ENABLED\": \"False\"}. Par exemple, pour désactiver les métriques CloudWatch et les journaux CloudWatch, fournissez la configuration suivante :

"--logging_configuration": "{\"CLOUDWATCH_METRICS\": {\"IS_ENABLED\": \"False\"}, \"CLOUDWATCH_LOGS\": {\"IS_ENABLED\": \"False\"}}"

Référence

Les tâches Ray reconnaissent les noms d'arguments suivants que vous pouvez utiliser afin de configurer l'environnement de script pour vos tâches Ray et vos exécutions de tâche :

  • --logging_configuration : utilisé pour arrêter la génération de divers journaux créés par les tâches Ray. Ces journaux sont générés par défaut pour toutes les tâches Ray. Format : objet JSON en séquence d’échappement. Pour de plus amples informations, veuillez consulter Configuration de la façon dont les tâches Ray génèrent des journaux.

  • --min-workers : nombre minimum de composants master alloués à une tâche Ray. Un composant master peut exécuter plusieurs réplicas, un par processeur virtuel. Format : nombre entier. Minimum : 0. Maximum : valeur spécifiée dans --number-of-workers (NumberOfWorkers), dans la définition de la tâche. Pour plus d'informations sur la comptabilisation des composants master, consultez Comptabilité pour les travailleurs dans les tâches Ray.

  • --object_spilling_config : AWS Glue pour Ray prend en charge l'utilisation d'Amazon S3 pour étendre l'espace disponible dans le magasin d'objets de Ray. Pour activer ce comportement, vous pouvez fournir à Ray un objet de configuration JSON pour le déversement d'objets avec ce paramètre. Pour plus d'informations sur la configuration du déversement d'objets dans Ray, consulter Object Spilling dans la documentation Ray. Format : objet JSON.

    AWS Glue pour Ray ne prend en charge que le déversement sur disque ou le déversement sur Amazon S3 à la fois. Vous pouvez indiquer plusieurs emplacements pour le déversement, à condition qu'ils respectent cette limite. Lors du déversement sur Amazon S3, vous devez également ajouter des autorisations IAM à votre tâche pour ce compartiment.

    Lorsque vous fournissez un objet JSON en tant que configuration avec la CLI, vous devez le fournir sous forme de chaîne, avec la chaîne de l'objet JSON échappée. Par exemple, une valeur de chaîne pour le déversement vers un chemin Amazon S3 ressemblerait à ce qui suit : "{\"type\": \"smart_open\", \"params\": {\"uri\":\"s3path\"}}". Dans AWS Glue Studio, fournissez ce paramètre sous forme d'objet JSON sans mise en forme supplémentaire.

  • --object_store_memory_head : mémoire allouée au magasin d'objets Plasma sur le nœud principal Ray. Cette instance exécute des services de gestion de clusters, ainsi que des réplicas de travail. La valeur représente un pourcentage de mémoire disponible sur l’instance après un démarrage à chaud. Vous utilisez ce paramètre pour régler les charges de travail gourmandes en mémoire. Les valeurs par défaut sont acceptables pour la plupart des cas d'utilisation. Format : entier positif. Minimum : 1. Maximum : 100.

    Pour plus d’informations sur Plasma, consultez The Plasma In-Memory Object Store (Le magasin d’objets en mémoire Plasma) dans la documentation Ray.

  • --object_store_memory_worker : mémoire allouée au magasin d'objets Plasma sur les composants master Ray. Ces instances exécutent uniquement des réplicas de travail. La valeur représente un pourcentage de mémoire disponible sur l’instance après un démarrage à chaud. Ce paramètre est utilisé pour régler les charges de travail gourmandes en mémoire. Les valeurs par défaut sont acceptables pour la plupart des cas d'utilisation. Format : entier positif. Minimum : 1. Maximum : 100.

    Pour plus d’informations sur Plasma, consultez The Plasma In-Memory Object Store (Le magasin d’objets en mémoire Plasma) dans la documentation Ray.

  • --pip-install : ensemble de packages Python à installer. Vous pouvez installer des packages depuis PyPI en utilisant cet argument. Format : liste délimitée par des virgules.

    Une entrée de package PyPI est au format package==version, avec le nom PyPI et la version de votre package cible. Les entrées utilisent la correspondance entre versions de Python pour faire correspondre le package et la version, comme == et non le signe = seul. Il existe d'autres opérateurs de mise en correspondance des versions. Pour plus d'informations, consultez PEP 440 sur le site Internet de Python. Vous pouvez également fournir des modules personnalisés avec --s3-py-modules.

  • --s3-py-modules : un ensemble de chemins Amazon S3 qui hébergent des distributions de modules Python. Format : liste délimitée par des virgules.

    Vous pouvez l'utiliser pour distribuer vos propres modules à votre tâche Ray. Vous pouvez également fournir des modules à partir de PyPI avec --pip-install. Contrairement à AWS Glue ETL, les modules personnalisés ne sont pas configurés via pip, mais sont transmis à Ray pour la distribution. Pour de plus amples informations, veuillez consulter Modules Python supplémentaires pour les tâches Ray.

  • --working-dir : un chemin d'accès à un fichier .zip hébergé sur Amazon S3 contenant les fichiers à distribuer à tous les nœuds exécutant votre tâche Ray. Format : chaîne. Pour de plus amples informations, veuillez consulter Fournir des fichiers à votre tâche Ray.