Exécution d’une tâche de traitement avec Apache Spark - Amazon SageMaker AI

Exécution d’une tâche de traitement avec Apache Spark

Apache Spark est un moteur analytique unifié, pour le traitement des données à grande échelle. Amazon SageMaker AI fournit des images Docker prédéfinies qui incluent Apache Spark et d’autres dépendances nécessaires pour exécuter des tâches de traitement distribué des données. Vous trouverez ci-dessous un exemple d’exécution d’une tâche Amazon SageMaker Processing à l’aide d’Apache Spark.

Avec le SDK Amazon SageMaker Python, vous pouvez facilement appliquer des transformations de données et extraire des fonctions (ingénierie des fonctionnalités) à l'aide du cadre Spark. Pour obtenir des informations sur l’utilisation du kit SageMaker Python SDK pour exécuter des tâches de traitement Spark, consultez Traitement des données avec Spark dans le kit Amazon SageMaker Python SDK.

Un référentiel de code contenant le code source et les fichiers Docker pour les images Spark est disponible sur GitHub.

Vous pouvez utiliser la classe sagemaker.spark.PySparkProcessor ou sagemaker.spark.SparkJarProcessor pour exécuter votre application Spark dans une tâche de traitement. Vous pouvez définir une limite d'exécution maximale de 5 jours pour MaxRuntimeInSeconds. Concernant le temps d'exécution et le nombre d'instances utilisées, les applications Spark simples voient une relation quasi linéaire entre le nombre d'instances et le temps d'achèvement.

L'exemple de code suivant montre comment exécuter une tâche de traitement qui appelle votre script PySpark preprocess.py.

from sagemaker.spark.processing import PySparkProcessor spark_processor = PySparkProcessor( base_job_name="spark-preprocessor", framework_version="2.4", role=role, instance_count=2, instance_type="ml.m5.xlarge", max_runtime_in_seconds=1200, ) spark_processor.run( submit_app="preprocess.py", arguments=['s3_input_bucket', bucket, 's3_input_key_prefix', input_prefix, 's3_output_bucket', bucket, 's3_output_key_prefix', output_prefix] )

Pour plus d’informations, consultez l’exemple de bloc-notes Traitement de données distribuées avec Apache Spark et SageMaker Processing.

Si vous n’utilisez pas le kit Amazon SageMaker AI Python SDK et l’une de ses classes Processor pour récupérer les images prédéfinies, vous devez les récupérer par vous-même. Les images Docker préconçues de SageMaker sont stockées dans Amazon Elastic Container Registry (Amazon ECR). Pour obtenir la liste complète des images Docker préconçues disponibles, consultez le document images disponibles.

Pour en savoir plus sur l’utilisation du kit SageMaker Python SDK avec des conteneurs Processing, consultez Amazon SageMaker AI Python SDK.