

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écution d’une tâche de traitement avec Apache Spark
<a name="use-spark-processing-container"></a>

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 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 le [SDK Amazon SageMaker Python](https://github.com/aws/sagemaker-python-sdk#installing-the-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 du SDK SageMaker Python pour exécuter des tâches de traitement Spark, consultez la section [Traitement des données avec Spark](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_processing.html#data-processing-with-spark) dans le [SDK Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable/).

Un référentiel de code contenant le code source et les Dockerfiles pour les images Spark est disponible sur. [GitHub](https://github.com/aws/sagemaker-spark-container) 

 Vous pouvez utiliser la classe [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.spark.processing.PySparkProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.spark.processing.PySparkProcessor) ou [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.spark.processing.SparkJarProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.spark.processing.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 script`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 un examen approfondi, consultez l'[exemple de bloc-notes](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker_processing/spark_distributed_data_processing/sagemaker-spark-processing.html) sur le traitement distribué des données avec Apache Spark and SageMaker Processing. 

 Si vous n'utilisez pas le [SDK Amazon SageMaker AI Python](https://sagemaker.readthedocs.io/) 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 (Amazon ECR). Pour obtenir la liste complète des images Docker préconçues disponibles, consultez le document [images disponibles](https://github.com/aws/sagemaker-spark-container/blob/master/available_images.md). 

 Pour en savoir plus sur l'utilisation du SDK SageMaker Python avec les conteneurs de traitement, consultez le [SDK Amazon SageMaker AI Python](https://sagemaker.readthedocs.io/en/stable/). 