Exécuter un job de traitement avec Apache Spark - Amazon SageMaker

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.

Exécuter un job de traitement avec Apache Spark

Apache Spark est un moteur analytique unifié, pour le traitement des données à grande échelle. Amazon SageMaker 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 de données distribuées. Vous trouverez ci-dessous un exemple d'exécution d'une tâche Amazon SageMaker Processing à l'aide d'Apache Spark.

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

Un référentiel de code contenant le code source et les Dockerfiles 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. Notez que vous pouvez MaxRuntimeInSeconds définir une limite d'exécution maximale de 5 jours. 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 PySpark scriptpreprocess.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 un examen approfondi, consultez l'exemple de bloc-notes sur le traitement distribué des données avec Apache Spark and SageMaker Processing.

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

Pour en savoir plus sur l'utilisation de SageMaker Python dans SDK les conteneurs de traitement, consultez Amazon SageMaker Python SDK.