Amazon에서 아파치 스파크를 사용하세요 SageMaker - 아마존 SageMaker

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

Amazon에서 아파치 스파크를 사용하세요 SageMaker

Amazon SageMaker Spark는 Spark 기계 학습 (ML) 파이프라인을 구축하는 데 도움이 되는 오픈 소스 Spark 라이브러리입니다. SageMaker 이를 통해 Spark ML 단계를 모델 교육 및 호스팅과 SageMaker 같은 단계와 간단하게 통합할 수 있습니다. SageMaker Spark에 대한 자세한 내용은 Spark 리포지토리를 참조하십시오. SageMaker GitHub

SageMaker Spark 라이브러리는 Python과 Scala에서 사용할 수 있습니다. Spark를 사용하여 SageMaker Spark 클러스터의 SageMaker org.apache.spark.sql.DataFrame 데이터 프레임을 사용하도록 모델을 훈련할 수 있습니다. 모델 학습 후에는 SageMaker 호스팅 서비스를 사용하여 모델을 호스팅할 수도 있습니다.

SageMaker Spark 라이브러리는 특히 다음과 같은 클래스를 제공합니다. com.amazonaws.services.sagemaker.sparksdk

  • SageMakerEstimator - org.apache.spark.ml.Estimator인터페이스를 확장합니다. SageMaker의 모델 교육에 대해 이 예측기를 사용할 수 있습니다.

  • KMeansSageMakerEstimator, PCASageMakerEstimator, XGBoostSageMakerEstimator- SageMakerEstimator클래스를 확장합니다.

  • SageMakerModel - org.apache.spark.ml.Model클래스를 확장합니다. SageMaker에서 모델을 호스팅하고 추론을 얻는 데 이 SageMakerModel을 사용할 수 있습니다.

Spark 리포지토리에서 Python Spark (PySpark) 및 Scala 라이브러리의 소스 코드를 모두 다운로드할 수 있습니다. SageMaker GitHub

SageMaker Spark 라이브러리의 설치 및 예제는 또는 을 참조하십시오. SageMaker Spark for Scala 예제 SageMaker Python용 스파크 (PySpark) 예제

Amazon EMR을 사용하여 Spark 클러스터를 관리하는 경우 Apache AWS Spark를 참조하십시오. 에서 Amazon EMR을 사용하는 방법에 대한 자세한 내용은 을 SageMaker 참조하십시오. Amazon EMR을 사용한 데이터 준비

Apache Spark 애플리케이션과 SageMaker 통합

다음은 Apache Spark 애플리케이션을 통합하는 단계를 개괄적으로 요약한 것입니다. SageMaker

  1. 익숙한 Apache Spark 라이브러리를 사용하여 계속해서 데이터 전처리를 수행합니다. 데이터 세트는 Spark 클러스터에서 DataFrame로 남아 있습니다. 데이터를 DataFrame에 로드하고 Doublesorg.apache.spark.ml.linalg.Vector가 포함된 features열과 Double유형 값이 포함된 선택적 label열을 갖도록 데이터를 전처리합니다.

  2. SageMaker Spark 라이브러리의 추정기를 사용하여 모델을 학습시키십시오. 예를 들어, 모델 학습을 위해 에서 제공하는 k-means 알고리즘을 선택하면 SageMaker 메서드가 호출됩니다. KMeansSageMakerEstimator.fit

    DataFrame을 입력으로 제공합니다. 예측기는 SageMakerModel객체를 반환합니다.

    참고

    SageMakerModelorg.apache.spark.ml.Model을 확장합니다.

    fit 메서드는 다음을 수행합니다.

    1. 입력 DataFrame에서 featureslabel열을 선택하고 protobuf 데이터를 Amazon S3 버킷에 업로드하여 입력 DataFrame을 protobuf 형식으로 변환합니다. protobuf 형식은 SageMaker에서 모델 교육에 효율적입니다.

    2. SageMaker CreateTrainingJob요청을 SageMaker 전송하여 모델 학습을 시작합니다. 모델 학습이 완료되면 모델 아티팩트를 S3 버킷에 SageMaker 저장합니다.

      SageMaker 모델 교육에서 사용자 대신 작업을 수행하도록 지정한 IAM 역할을 맡습니다. 예를 들어, S3 버킷에서 훈련 데이터를 읽고 버킷에 모델 아티팩트를 쓰는 역할을 사용합니다.

    3. SageMakerModel 객체를 생성하고 반환합니다. 생성자는 다음 작업을 수행하고, 이는 SageMaker에 모델을 배포하는 것과 관련이 있습니다.

      1. CreateModel요청을 보냅니다. SageMaker

      2. SageMaker로 CreateEndpointConfig 요청을 전송합니다.

      3. CreateEndpoint SageMaker요청을 전송하면 지정된 리소스가 시작되고 해당 리소스에서 모델을 호스팅합니다.

  3. 에 SageMaker 호스팅된 모델에서 추론을 가져올 수 있습니다. SageMakerModel.transform

    기능을 입력으로 하는 입력 DataFrame를 제공합니다. transform 메서드는 이를 DataFrame컨테이너 추론으로 변형합니다. 내부적으로 transform 메서드는 InvokeEndpoint SageMaker API에 요청을 보내 추론을 가져옵니다. transform 메서드는 추론을 입력 DataFrame에 추가합니다.