

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Executar um Trabalho de Processamento com o Apache Spark
<a name="use-spark-processing-container"></a>

O Apache Spark é um mecanismo de analytics unificado para processamento de dados em grande escala. A Amazon SageMaker AI fornece imagens pré-criadas do Docker que incluem o Apache Spark e outras dependências necessárias para executar trabalhos distribuídos de processamento de dados. Veja a seguir um exemplo de como executar um trabalho de SageMaker processamento da Amazon usando o Apache Spark.

Com o [Amazon SageMaker Python SDK](https://github.com/aws/sagemaker-python-sdk#installing-the-sagemaker-python-sdk), você pode aplicar facilmente transformações de dados e extrair recursos (engenharia de recursos) usando a estrutura Spark. [Para obter informações sobre como usar o SDK do SageMaker Python para executar trabalhos de processamento do Spark, consulte Processamento de [dados com o Spark](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_processing.html#data-processing-with-spark) no SDK do Amazon Python. SageMaker ](https://sagemaker.readthedocs.io/en/stable/)

Um repositório de código que contém o código-fonte e os Dockerfiles das imagens do Spark está disponível em. [GitHub](https://github.com/aws/sagemaker-spark-container) 

 Você pode usar a [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 a classe [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) para executar sua aplicação Spark dentro de um trabalho de processamento. Observe que você pode MaxRuntimeInSeconds definir um limite máximo de tempo de execução de 5 dias. Com relação ao runtime e ao número de instâncias usadas, workloads simples do Spark apresentam uma relação quase linear entre o número de instâncias e o tempo até a conclusão. 

 O exemplo de código a seguir mostra como executar um trabalho de processamento que invoca seu 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]
)
```

 [Para uma análise mais aprofundada, consulte o caderno de exemplo de Processamento de Dados Distribuído com Apache Spark e SageMaker Processing.](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker_processing/spark_distributed_data_processing/sagemaker-spark-processing.html) 

 Se você não estiver usando o [Amazon SageMaker AI Python SDK](https://sagemaker.readthedocs.io/) e uma de suas classes Processor para recuperar as imagens pré-criadas, você mesmo poderá recuperá-las. As imagens SageMaker pré-criadas do Docker são armazenadas no Amazon Elastic Container Registry (Amazon ECR). Para obter uma lista completa das imagens do Docker pré-criadas disponíveis, consulte o documento de [imagens disponíveis](https://github.com/aws/sagemaker-spark-container/blob/master/available_images.md). 

 Para saber mais sobre como usar o SDK do SageMaker Python com contêineres de processamento, consulte Amazon [AI SageMaker Python](https://sagemaker.readthedocs.io/en/stable/) SDK. 