Traitement des données avec Apache Spark - Amazon SageMaker

Traitement des données 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éconçues qui incluent Apache Spark et d'autres dépendances nécessaires pour exécuter des tâches de traitement de données distribuées. 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 SDK SageMaker Python pour exécuter des tâches de traitement Spark, veuillez consulter Data Processing with Spark (Traitement des données avec Spark) dans le SDK Amazon SageMaker Python.

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

Exécution d'une tâche de traitement Spark

Vous pouvez utiliser la classe sagemaker.spark.PySparkProcessor ou sagemaker.spark.SparkJarProcessorpour 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 de plus amples informations, veuillez consulter l'exemple bloc-notes Traitement de données distribuées avec Apache Spark et SageMaker Processing.

Si vous n'utilisez pas le SDK Amazon SageMaker Python et l'une de ses classes Processor pour récupérer les images préconçues, 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, veuillez consulter le document images disponibles.

Pour en savoir plus sur l'utilisation du SDK SageMaker Python avec des conteneurs Processing, veuillez consulter Amazon SageMaker Python SDK (SDK Amazon SageMaker Python).