Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services

Amazon SageMaker tilbyr flere måter å kjøre distribuerte databehandlingsjobber med Apache Spark, et populært distribuert databehandlingsrammeverk for stordatabehandling.

Du kan kjøre Spark-applikasjoner interaktivt fra Amazon SageMaker Studio ved å koble til SageMaker Studio-notatbøker og AWS Glue Interactive Sessions å kjøre Spark-jobber med en serverløs klynge. Med interaktive økter kan du velge Apache Spark eller Ray for enkelt å behandle store datasett, uten å bekymre deg for klyngeadministrasjon.

Alternativt, hvis du trenger mer kontroll over miljøet, kan du bruke en forhåndsbygd SageMaker Spark-beholder til å kjøre Spark-applikasjoner som batchjobber på en fullt administrert distribuert klynge med Amazon SageMaker-prosessering. Dette alternativet lar deg velge flere typer forekomster (beregningsoptimalisert, minneoptimalisert og mer), antall noder i klyngen og klyngekonfigurasjonen, og muliggjør dermed større fleksibilitet for databehandling og modelltrening.

Til slutt kan du kjøre Spark-applikasjoner ved å koble Studio-notatbøker med Amazon EMR klynger, eller ved å kjøre Spark-klyngen på Amazon Elastic Compute Cloud (Amazon EC2).

Alle disse alternativene lar deg generere og lagre Spark-hendelseslogger for å analysere dem gjennom det nettbaserte brukergrensesnittet vanligvis kalt Spark UI, som kjører en Spark History Server for å overvåke fremdriften til Spark-applikasjoner, spore ressursbruk og feilsøke feil.

I dette innlegget deler vi en løsning for å installere og kjøre Spark History Server på SageMaker Studio og få tilgang til Spark UI direkte fra SageMaker Studio IDE, for å analysere Spark-logger produsert av forskjellige AWS-tjenester (AWS Glue Interactive Sessions, SageMaker Processing-jobber og Amazon EMR) og lagret i en Amazon enkel lagringstjeneste (Amazon S3) bøtte.

Løsningsoversikt

Løsningen integrerer Spark History Server i Jupyter Server-appen i SageMaker Studio. Dette lar brukere få tilgang til Spark-logger direkte fra SageMaker Studio IDE. Den integrerte Spark History Server støtter følgende:

  • Få tilgang til logger generert av SageMaker Processing Spark-jobber
  • Tilgang til logger generert av AWS Glue Spark-applikasjoner
  • Tilgang til logger generert av selvadministrerte Spark-klynger og Amazon EMR

Et verktøys kommandolinjegrensesnitt (CLI) kalt sm-spark-cli er også tilgjengelig for samhandling med Spark UI fra SageMaker Studio-systemterminalen. De sm-spark-cli gjør det mulig å administrere Spark History Server uten å forlate SageMaker Studio.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Løsningen består av shell-skript som utfører følgende handlinger:

  • Installer Spark på Jupyter Server for SageMaker Studio brukerprofiler eller for en SageMaker Studio delt plass
  • Installer sm-spark-cli for en brukerprofil eller delt plass

Installer Spark-grensesnittet manuelt i et SageMaker Studio-domene

For å være vert for Spark UI på SageMaker Studio, fullfør følgende trinn:

  1. Velg Systemterminal fra SageMaker Studio-starteren.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

  1. Kjør følgende kommandoer i systemterminalen:
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

Kommandoene vil ta noen sekunder å fullføre.

  1. Når installasjonen er fullført, kan du starte Spark UI ved å bruke det medfølgende sm-spark-cli og få tilgang til den fra en nettleser ved å kjøre følgende kode:

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

S3-stedet der hendelsesloggene produsert av SageMaker Processing, AWS Glue eller Amazon EMR er lagret, kan konfigureres når du kjører Spark-applikasjoner.

For SageMaker Studio-notatbøker og AWS Glue Interactive Sessions kan du sette opp Spark-hendelsesloggplasseringen direkte fra notatboken ved å bruke sparkmagic kjernen.

De sparkmagic kjernen inneholder et sett med verktøy for å samhandle med eksterne Spark-klynger gjennom notatbøker. Det tilbyr magi (%spark, %sql) kommandoer for å kjøre Spark-kode, utføre SQL-spørringer og konfigurere Spark-innstillinger som eksekveringsminne og kjerner.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

For SageMaker Processing-jobben kan du konfigurere Spark-hendelsesloggplasseringen direkte fra SageMaker Python SDK.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Se AWS-dokumentasjonen for ytterligere informasjon:

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du kan velge den genererte URL-en for å få tilgang til Spark-grensesnittet.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Følgende skjermbilde viser et eksempel på Spark UI.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du kan sjekke statusen til Spark History Server ved å bruke sm-spark-cli status kommandoen i Studio System-terminalen.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du kan også stoppe Spark History Server ved behov.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Automatiser Spark UI-installasjonen for brukere i et SageMaker Studio-domene

Som IT-administrator kan du automatisere installasjonen for SageMaker Studio-brukere ved å bruke en livssykluskonfigurasjon. Dette kan gjøres for alle brukerprofiler under et SageMaker Studio-domene eller for spesifikke. Se Tilpass Amazon SageMaker Studio ved å bruke livssykluskonfigurasjoner for mer informasjon.

Du kan opprette en livssykluskonfigurasjon fra install-history-server.sh skript og fest det til et eksisterende SageMaker Studio-domene. Installasjonen kjøres for alle brukerprofilene i domenet.

Fra en terminal konfigurert med AWS kommandolinjegrensesnitt (AWS CLI) og passende tillatelser, kjør følgende kommandoer:

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" ] }}'

Etter at Jupyter Server har startet på nytt, vil Spark UI og sm-spark-cli vil være tilgjengelig i ditt SageMaker Studio-miljø.

Rydd opp

I denne delen viser vi deg hvordan du rydder opp i Spark UI i et SageMaker Studio-domene, enten manuelt eller automatisk.

Avinstaller Spark UI manuelt

For å avinstallere Spark UI manuelt i SageMaker Studio, fullfør følgende trinn:

  1. Velg Systemterminal i SageMaker Studio-starteren.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

  1. Kjør følgende kommandoer i systemterminalen:
cd amazon-sagemaker-spark-ui-0.1.0/install-scripts chmod +x uninstall-history-server.sh
./uninstall-history-server.sh

Avinstaller Spark UI automatisk for alle SageMaker Studio-brukerprofiler

For å automatisk avinstallere Spark UI i SageMaker Studio for alle brukerprofiler, fullfør følgende trinn:

  1. Velg på SageMaker-konsollen Domener i navigasjonsruten, og velg deretter SageMaker Studio-domenet.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

  1. På siden med domenedetaljer, naviger til Miljø fanen.
  2. Velg livssykluskonfigurasjonen for Spark UI på SageMaker Studio.
  3. Velg Løsne.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

  1. Slett og start Jupyter Server-appene på nytt for SageMaker Studio-brukerprofilene.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

konklusjonen

I dette innlegget delte vi en løsning du kan bruke for å raskt installere Spark UI på SageMaker Studio. Med Spark UI hostet på SageMaker, kan maskinlæring (ML) og dataingeniørteam bruke skalerbar cloud compute for å få tilgang til og analysere Spark-logger fra hvor som helst og øke hastigheten på prosjektleveransen. IT-administratorer kan standardisere og fremskynde leveringen av løsningen i skyen og unngå spredning av tilpassede utviklingsmiljøer for ML-prosjekter.

All koden som vises som en del av dette innlegget er tilgjengelig i GitHub repository.


Om forfatterne

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Giuseppe Angelo Porcelli er en hovedløsningsarkitekt for maskinlæring for Amazon Web Services. Med flere års programvareutvikling og ML-bakgrunn jobber han med kunder av alle størrelser for å forstå deres forretningsmessige og tekniske behov og designe AI- og ML-løsninger som utnytter AWS Cloud og Amazon Machine Learning-stabel på best mulig måte. Han har jobbet med prosjekter innen forskjellige domener, inkludert MLOps, datasyn og NLP, som involverer et bredt sett av AWS-tjenester. På fritiden liker Giuseppe å spille fotball.

Vær vert for Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Bruno Pistone er en AI/ML Specialist Solutions Architect for AWS basert i Milano. Han jobber med kunder av alle størrelser, og hjelper dem å forstå deres tekniske behov og designe AI- og ML-løsninger som utnytter AWS Cloud og Amazon Machine Learning-stabel på best mulig måte. Hans fagfelt inkluderer maskinlæring ende til ende, maskinlæring endustrialisering og generativ AI. Han liker å tilbringe tid med vennene sine og utforske nye steder, i tillegg til å reise til nye destinasjoner.

Tidstempel:

Mer fra AWS maskinlæring