

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Apache Spark를 사용한 처리 작업 실행
<a name="use-spark-processing-container"></a>

Apache Spark는 대규모 데이터 처리를 위한 통합 분석 엔진으로서, Amazon SageMaker AI는 분산형 데이터 처리 작업을 실행하는 데 필요한 Apache Spark 및 기타 종속 항목이 포함된 사전 구축된 Docker 이미지를 제공합니다. 다음은 Apache Spark를 사용하여 Amazon SageMaker 처리 작업을 실행하는 방법에 대한 예제입니다.

[Amazon SageMaker Python SDK](https://github.com/aws/sagemaker-python-sdk#installing-the-sagemaker-python-sdk)를 사용하면 Spark 프레임워크를 사용하여 데이터 변환을 쉽게 적용하고 특징(피처 엔지니어링)을 추출할 수 있습니다. SageMaker Python SDK를 사용하여 Spark 프로세싱 작업을 실행하는 방법에 대한 자세한 내용은 [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/)에서 [Spark를 사용한 데이터 프로세싱](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_processing.html#data-processing-with-spark)을 참고하세요.

Spark 이미지의 소스 코드와 Dockerfile이 포함된 코드 리포지토리는 [GitHub](https://github.com/aws/sagemaker-spark-container)에서 사용할 수 있습니다.

 [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) 또는 [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) 클래스를 사용하여 프로세싱 작업 내에서 Spark 애플리케이션을 실행할 수 있습니다. 참고: MaxRuntimeInSeconds를 최대 런타임 제한일인 5일로 설정할 수 있습니다. 실행 시간 및 사용된 인스턴스 수와 관련하여 단순한 스파크 워크로드는 인스턴스 수와 완료 시간 간의 관계가 거의 선형적으로 나타납니다.

 다음 코드 예제는 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]
)
```

 자세한 내용은 Apache Spark를 사용한 분산형 데이터 처리 및 SageMaker 프로세싱 [예제 노트북](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker_processing/spark_distributed_data_processing/sagemaker-spark-processing.html)을 참고하세요.

 [Amazon SageMaker AI Python SDK](https://sagemaker.readthedocs.io/)와 해당 프로세서 클래스 중 하나를 사용하여 사전 구축된 이미지를 검색하지 않는 경우 이러한 이미지를 직접 검색할 수 있습니다. SageMaker 사전 구축형 Docker 이미지는 Amazon Elastic Container Registry(Amazon ECR)에 저장됩니다. 사용 가능한 사전 구축된 Docker 이미지의 전체 목록은 [사용 가능한 이미지](https://github.com/aws/sagemaker-spark-container/blob/master/available_images.md) 문서를 참고하세요.

 Processing 컨테이너와 함께 SageMaker Python SDK를 사용하는 방법에 대한 자세한 내용은 [Amazon SageMaker AI Python SDK](https://sagemaker.readthedocs.io/en/stable/)를 참조하세요.