Amazon SageMaker Studio에서 Spark UI 호스팅 | 아마존 웹 서비스

Amazon SageMaker Studio에서 Spark UI 호스팅 | 아마존 웹 서비스

아마존 세이지 메이커 빅 데이터 처리를 위한 널리 사용되는 분산 컴퓨팅 프레임워크인 Apache Spark로 분산 데이터 처리 작업을 실행하는 여러 가지 방법을 제공합니다.

다음에서 대화식으로 Spark 애플리케이션을 실행할 수 있습니다. 아마존 세이지 메이커 스튜디오 연결하여 SageMaker Studio 노트북 및 AWS Glue 대화형 세션 서버리스 클러스터로 Spark 작업을 실행합니다. 대화형 세션을 사용하면 Apache Spark 또는 Ray를 선택하여 클러스터 관리에 대한 걱정 없이 대규모 데이터 세트를 쉽게 처리할 수 있습니다.

또는 환경에 대한 더 많은 제어가 필요한 경우 사전 구축된 SageMaker Spark 컨테이너를 사용하여 완전 관리형 분산 클러스터에서 Spark 애플리케이션을 배치 작업으로 실행할 수 있습니다. Amazon SageMaker 처리. 이 옵션을 사용하면 여러 유형의 인스턴스(컴퓨팅 최적화, 메모리 최적화 등), 클러스터의 노드 수 및 클러스터 구성을 선택할 수 있으므로 데이터 처리 및 모델 교육에 더 큰 유연성을 제공할 수 있습니다.

마지막으로 Studio 노트북을 다음과 연결하여 Spark 애플리케이션을 실행할 수 있습니다. 아마존 EMR 클러스터, 또는 Spark 클러스터를 실행하여 아마존 엘라스틱 컴퓨트 클라우드 (아마존 EC2).

이러한 모든 옵션을 사용하면 Spark 이벤트 로그를 생성하고 저장하여 일반적으로 스파크 UI, Spark 기록 서버를 실행하여 Spark 애플리케이션의 진행 상황을 모니터링하고 리소스 사용량을 추적하며 오류를 디버그합니다.

이 게시물에서 우리는 해결책 SageMaker Studio에서 Spark History Server를 설치 및 실행하고 SageMaker Studio IDE에서 직접 Spark UI에 액세스하고 다양한 AWS 서비스(AWS Glue 대화형 세션, SageMaker 처리 작업 및 Amazon EMR)에서 생성되고 아마존 단순 스토리지 서비스 (Amazon S3) 버킷.

솔루션 개요

이 솔루션은 Spark History Server를 SageMaker Studio의 Jupyter Server 앱에 통합합니다. 이를 통해 사용자는 SageMaker Studio IDE에서 직접 Spark 로그에 액세스할 수 있습니다. 통합 Spark 기록 서버는 다음을 지원합니다.

  • SageMaker Processing Spark 작업에서 생성된 로그에 액세스
  • AWS Glue Spark 애플리케이션에서 생성된 로그에 액세스
  • 자체 관리형 Spark 클러스터 및 Amazon EMR에서 생성된 로그에 액세스

라는 유틸리티 명령줄 인터페이스(CLI) sm-spark-cli 또한 SageMaker Studio 시스템 터미널에서 Spark UI와 상호 작용하기 위해 제공됩니다. 그만큼 sm-spark-cli SageMaker Studio를 벗어나지 않고 Spark History Server를 관리할 수 있습니다.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

이 솔루션은 다음 작업을 수행하는 셸 스크립트로 구성됩니다.

  • SageMaker Studio 사용자 프로필 또는 SageMaker Studio 공유 공간을 위해 Jupyter 서버에 Spark 설치
  • 설치 sm-spark-cli 사용자 프로필 또는 공유 공간

SageMaker Studio 도메인에 수동으로 Spark UI 설치

SageMaker Studio에서 Spark UI를 호스팅하려면 다음 단계를 완료하십시오.

  1. 왼쪽 메뉴에서 시스템 터미널 SageMaker Studio 런처에서.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 시스템 터미널에서 다음 명령을 실행합니다.
curl -LO https://github.com/aws-samples/amazon-sagemaker-spark-ui/releases/download/v0.1.0/amazon-sagemaker-spark-ui-0.1.0.tar.gz
tar -xvzf amazon-sagemaker-spark-ui-0.1.0.tar.gz cd amazon-sagemaker-spark-ui-0.1.0/install-scripts
chmod +x install-history-server.sh
./install-history-server.sh

명령을 완료하는 데 몇 초가 걸립니다.

  1. 설치가 완료되면 제공되는 Spark UI를 사용하여 Spark UI를 시작할 수 있습니다. sm-spark-cli 다음 코드를 실행하여 웹 브라우저에서 액세스하십시오.

sm-spark-cli start s3://DOC-EXAMPLE-BUCKET/<SPARK_EVENT_LOGS_LOCATION>

SageMaker Processing, AWS Glue 또는 Amazon EMR에서 생성된 이벤트 로그가 저장되는 S3 위치는 Spark 애플리케이션을 실행할 때 구성할 수 있습니다.

SageMaker Studio 노트북 및 AWS Glue 대화형 세션의 경우 다음을 사용하여 노트북에서 직접 Spark 이벤트 로그 위치를 설정할 수 있습니다. sparkmagic 핵심.

XNUMXD덴탈의 sparkmagic 커널에는 노트북을 통해 원격 Spark 클러스터와 상호 작용하기 위한 도구 세트가 포함되어 있습니다. 그것은 마법을 제공합니다 (%spark, %sql) Spark 코드를 실행하고, SQL 쿼리를 수행하고, 실행기 메모리 및 코어와 같은 Spark 설정을 구성하는 명령입니다.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

SageMaker 처리 작업의 경우 SageMaker Python SDK에서 직접 Spark 이벤트 로그 위치를 구성할 수 있습니다.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

추가 정보는 AWS 설명서를 참조하십시오.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

생성된 URL을 선택하여 Spark UI에 액세스할 수 있습니다.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

다음 스크린샷은 Spark UI의 예를 보여줍니다.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

다음을 사용하여 Spark History Server의 상태를 확인할 수 있습니다. sm-spark-cli status Studio System 터미널의 명령.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

필요한 경우 Spark 기록 서버를 중지할 수도 있습니다.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

SageMaker Studio 도메인 사용자를 위한 Spark UI 설치 자동화

IT 관리자는 다음을 사용하여 SageMaker Studio 사용자의 설치를 자동화할 수 있습니다. 수명주기 구성. SageMaker Studio 도메인 아래의 모든 사용자 프로필 또는 특정 사용자 프로필에 대해 이 작업을 수행할 수 있습니다. 보다 수명 주기 구성을 사용하여 Amazon SageMaker Studio 사용자 지정 자세한 내용은.

다음에서 수명 주기 구성을 생성할 수 있습니다. 설치 히스토리 서버.sh 스크립트를 작성하고 기존 SageMaker Studio 도메인에 연결합니다. 도메인의 모든 사용자 프로필에 대해 설치가 실행됩니다.

로 구성된 터미널에서 AWS 명령 줄 인터페이스 (AWS CLI) 및 적절한 권한이 있는 경우 다음 명령을 실행합니다.

curl -LO https://github.com/aws-samples/amazon-sagemaker-spark-ui/releases/download/v0.1.0/amazon-sagemaker-spark-ui-0.1.0.tar.gz
tar -xvzf amazon-sagemaker-spark-ui-0.1.0.tar.gz cd amazon-sagemaker-spark-ui-0.1.0/install-scripts LCC_CONTENT=`openssl base64 -A -in install-history-server.sh` aws sagemaker create-studio-lifecycle-config --studio-lifecycle-config-name install-spark-ui-on-jupyterserver --studio-lifecycle-config-content $LCC_CONTENT --studio-lifecycle-config-app-type JupyterServer --query 'StudioLifecycleConfigArn' aws sagemaker update-domain --region {YOUR_AWS_REGION} --domain-id {YOUR_STUDIO_DOMAIN_ID} --default-user-settings '{ "JupyterServerAppSettings": { "DefaultResourceSpec": { "LifecycleConfigArn": "arn:aws:sagemaker:{YOUR_AWS_REGION}:{YOUR_STUDIO_DOMAIN_ID}:studio-lifecycle-config/install-spark-ui-on-jupyterserver", "InstanceType": "system" }, "LifecycleConfigArns": [ "arn:aws:sagemaker:{YOUR_AWS_REGION}:{YOUR_STUDIO_DOMAIN_ID}:studio-lifecycle-config/install-spark-ui-on-jupyterserver" ] }}'

Jupyter 서버가 다시 시작되면 Spark UI 및 sm-spark-cli SageMaker Studio 환경에서 사용할 수 있습니다.

정리

이 섹션에서는 수동 또는 자동으로 SageMaker Studio 도메인에서 Spark UI를 정리하는 방법을 보여줍니다.

Spark UI 수동 제거

SageMaker Studio에서 Spark UI를 수동으로 제거하려면 다음 단계를 완료하십시오.

  1. 왼쪽 메뉴에서 시스템 터미널 SageMaker Studio 런처에서.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 시스템 터미널에서 다음 명령을 실행합니다.
cd amazon-sagemaker-spark-ui-0.1.0/install-scripts chmod +x uninstall-history-server.sh
./uninstall-history-server.sh

모든 SageMaker Studio 사용자 프로필에 대해 자동으로 Spark UI 제거

모든 사용자 프로필에 대해 SageMaker Studio에서 Spark UI를 자동으로 제거하려면 다음 단계를 완료하십시오.

  1. SageMaker 콘솔에서 도메인 탐색 창에서 SageMaker Studio 도메인을 선택합니다.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 도메인 세부 정보 페이지에서 다음으로 이동합니다. 환경 탭.
  2. SageMaker Studio에서 Spark UI에 대한 수명 주기 구성을 선택합니다.
  3. 왼쪽 메뉴에서 떼다.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. SageMaker Studio 사용자 프로필에 대한 Jupyter Server 앱을 삭제하고 다시 시작합니다.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

결론

이 게시물에서는 SageMaker Studio에 Spark UI를 빠르게 설치하는 데 사용할 수 있는 솔루션을 공유했습니다. SageMaker에서 호스팅되는 Spark UI를 통해 기계 학습(ML) 및 데이터 엔지니어링 팀은 확장 가능한 클라우드 컴퓨팅을 사용하여 어디에서나 Spark 로그에 액세스 및 분석하고 프로젝트 제공 속도를 높일 수 있습니다. IT 관리자는 클라우드에서 솔루션 프로비저닝을 표준화 및 가속화하고 ML 프로젝트를 위한 맞춤형 개발 환경의 확산을 방지할 수 있습니다.

이 게시물의 일부로 표시된 모든 코드는 GitHub 저장소.


저자에 관하여

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.주세페 안젤로 포첼리 Amazon Web Services의 수석 기계 학습 전문가 솔루션 설계자입니다. 수년간의 소프트웨어 엔지니어링 및 ML 배경을 가진 그는 모든 규모의 고객과 협력하여 비즈니스 및 기술 요구 사항을 이해하고 AWS 클라우드 및 Amazon Machine Learning 스택을 최대한 활용하는 AI 및 ML 솔루션을 설계합니다. 그는 MLOps, 컴퓨터 비전 및 NLP를 포함하여 다양한 AWS 서비스와 관련된 다양한 도메인의 프로젝트에 참여했습니다. 여가 시간에 Giuseppe는 축구를 즐깁니다.

Amazon SageMaker Studio에서 Spark UI 호스팅 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.브루노 피스톤 밀라노에 본사를 둔 AWS의 AI/ML 전문 솔루션 아키텍트입니다. 그는 모든 규모의 고객과 협력하여 기술 요구 사항을 이해하고 AWS 클라우드 및 Amazon Machine Learning 스택을 최대한 활용하는 AI 및 ML 솔루션을 설계하도록 돕습니다. 그의 전문 분야에는 엔드 투 엔드 머신 러닝, 머신 러닝 endustrialization 및 생성 AI가 포함됩니다. 그는 친구들과 시간을 보내고 새로운 장소를 탐험하고 새로운 목적지로 여행하는 것을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습