

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 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](https://github.com/aws/sagemaker-python-sdk#installing-the-sagemaker-python-sdk), 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](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_processing.html#data-processing-with-spark) dans le kit [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/).

Un référentiel de code contenant le code source et les fichiers Docker 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. 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](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker_processing/spark_distributed_data_processing/sagemaker-spark-processing.html) Traitement de données distribuées avec Apache Spark et SageMaker Processing. 

 Si vous n’utilisez pas le kit [Amazon SageMaker AI Python SDK](https://sagemaker.readthedocs.io/) 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](https://github.com/aws/sagemaker-spark-container/blob/master/available_images.md). 

 Pour en savoir plus sur l’utilisation du kit SageMaker Python SDK avec des conteneurs Processing, consultez [Amazon SageMaker AI Python SDK](https://sagemaker.readthedocs.io/en/stable/). 