

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. O Amazon SageMaker AI fornece imagens do Docker predefinidas que incluem o Apache Spark e outras dependências necessárias para executar trabalhos de processamento de dados distribuídos. Veja a seguir um exemplo de como executar um trabalho do Amazon SageMaker Processing 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 atributos (engenharia de atributos) usando a estrutura do Spark. Para obter informações sobre como usar o SDK do SageMaker para 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 [Amazon SageMaker Python SDK](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 no 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 definir maxRuntimeInSeconds para um limite máximo de runtime 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. 

 Os exemplos de código a seguir mostram como executar um trabalho de processamento que chama o script do 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]
)
```

 [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 não estiver usando o [Amazon SageMaker AI Python SDK](https://sagemaker.readthedocs.io/) e uma de suas classes de processador para recuperar as imagens predefinidas, você poderá recuperá-las por conta própria. As imagens do Docker pré-compiladas do SageMaker 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 SageMaker AI Python SDK com contêineres de processamento, consulte [Amazon SageMaker AI Python SDK](https://sagemaker.readthedocs.io/en/stable/). 