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

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

Amazon SageMaker tilbyder flere måder at køre distribuerede databehandlingsjob med Apache Spark, en populær distribueret computerramme til big databehandling.

Du kan køre Spark-applikationer interaktivt fra Amazon SageMaker Studio ved at forbinde SageMaker Studio notesbøger og AWS Glue Interactive Sessions at køre Spark-job med en serverløs klynge. Med interaktive sessioner kan du vælge Apache Spark eller Ray for nemt at behandle store datasæt uden at bekymre dig om klyngestyring.

Alternativt, hvis du har brug for mere kontrol over miljøet, kan du bruge en forudbygget SageMaker Spark-beholder til at køre Spark-applikationer som batchjob på en fuldt administreret distribueret klynge med Amazon SageMaker-behandling. Denne mulighed giver dig mulighed for at vælge flere typer forekomster (beregningsoptimeret, hukommelsesoptimeret og mere), antallet af noder i klyngen og klyngekonfigurationen, hvilket muliggør større fleksibilitet til databehandling og modeltræning.

Endelig kan du køre Spark-applikationer ved at forbinde Studio-notebooks med Amazon EMR klynger, eller ved at køre din Spark-klynge på Amazon Elastic Compute Cloud (Amazon EC2).

Alle disse muligheder giver dig mulighed for at generere og gemme Spark-hændelseslogfiler for at analysere dem gennem den webbaserede brugergrænseflade, der almindeligvis kaldes Spark UI, som kører en Spark History Server for at overvåge fremskridtene af Spark-applikationer, spore ressourceforbrug og fejlfinde fejl.

I dette opslag deler vi en løsninger til installation og kørsel af Spark History Server på SageMaker Studio og adgang til Spark UI direkte fra SageMaker Studio IDE, til analyse af Spark-logfiler produceret af forskellige AWS-tjenester (AWS Glue Interactive Sessions, SageMaker Processing-job og Amazon EMR) og gemt i en Amazon Simple Storage Service (Amazon S3) spand.

Løsningsoversigt

Løsningen integrerer Spark History Server i Jupyter Server-appen i SageMaker Studio. Dette giver brugerne adgang til Spark-logs direkte fra SageMaker Studio IDE. Den integrerede Spark History Server understøtter følgende:

  • Adgang til logfiler genereret af SageMaker Processing Spark-job
  • Adgang til logfiler genereret af AWS Glue Spark-applikationer
  • Adgang til logfiler genereret af selvadministrerede Spark-klynger og Amazon EMR

En utility command line interface (CLI) kaldet sm-spark-cli leveres også til interaktion med Spark UI fra SageMaker Studio systemterminalen. Det sm-spark-cli gør det muligt at administrere Spark History Server uden at forlade SageMaker Studio.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Løsningen består af shell-scripts, der udfører følgende handlinger:

  • Installer Spark på Jupyter Server til SageMaker Studio brugerprofiler eller for et SageMaker Studio delt rum
  • Installer sm-spark-cli for en brugerprofil eller et delt rum

Installer Spark UI manuelt i et SageMaker Studio-domæne

For at være vært for Spark UI på SageMaker Studio skal du udføre følgende trin:

  1. Vælg Systemterminal fra SageMaker Studio launcher.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  1. Kø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

Kommandoerne vil tage et par sekunder at fuldføre.

  1. Når installationen er færdig, kan du starte Spark UI ved at bruge den medfølgende sm-spark-cli og få adgang til den fra en webbrowser ved at køre følgende kode:

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

S3-lokationen, hvor hændelseslogfilerne, der er produceret af SageMaker Processing, AWS Glue eller Amazon EMR, er gemt, kan konfigureres, når du kører Spark-applikationer.

For SageMaker Studio-notebooks og AWS Glue Interactive Sessions kan du konfigurere Spark-hændelseslogplaceringen direkte fra notesbogen ved at bruge sparkmagic kerne.

sparkmagic Kernen indeholder et sæt værktøjer til at interagere med eksterne Spark-klynger gennem notebooks. Det tilbyder magi (%spark, %sql) kommandoer til at køre Spark-kode, udføre SQL-forespørgsler og konfigurere Spark-indstillinger såsom eksekveringshukommelse og kerner.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Til SageMaker Processing-jobbet kan du konfigurere Spark-hændelseslogplaceringen direkte fra SageMaker Python SDK.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Se AWS-dokumentationen for yderligere information:

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Du kan vælge den genererede URL for at få adgang til Spark UI.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Følgende skærmbillede viser et eksempel på Spark UI.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Du kan kontrollere status for Spark History Server ved at bruge sm-spark-cli status kommando i Studio System-terminalen.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Du kan også stoppe Spark History Server, når det er nødvendigt.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Automatiser Spark UI-installationen for brugere i et SageMaker Studio-domæne

Som it-administrator kan du automatisere installationen for SageMaker Studio-brugere ved at bruge en livscykluskonfiguration. Dette kan gøres for alle brugerprofiler under et SageMaker Studio-domæne eller for specifikke. Se Tilpas Amazon SageMaker Studio ved hjælp af livscykluskonfigurationer for flere detaljer.

Du kan oprette en livscykluskonfiguration fra install-history-server.sh script og vedhæft det til et eksisterende SageMaker Studio-domæne. Installationen køres for alle brugerprofiler i domænet.

Fra en terminal konfigureret med AWS kommandolinjegrænseflade (AWS CLI) og passende tilladelser, skal du køre 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" ] }}'

Efter Jupyter Server genstarter, Spark UI og sm-spark-cli vil være tilgængelig i dit SageMaker Studio-miljø.

Ryd op

I dette afsnit viser vi dig, hvordan du rydder op i Spark UI i et SageMaker Studio-domæne, enten manuelt eller automatisk.

Afinstaller Spark UI manuelt

For manuelt at afinstallere Spark UI i SageMaker Studio skal du udføre følgende trin:

  1. Vælg Systemterminal i SageMaker Studio launcher.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  1. Kø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

Afinstaller Spark UI automatisk for alle SageMaker Studio-brugerprofiler

For automatisk at afinstallere Spark UI i SageMaker Studio for alle brugerprofiler skal du udføre følgende trin:

  1. Vælg på SageMaker-konsollen domæner i navigationsruden, og vælg derefter SageMaker Studio-domænet.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  1. På siden med domænedetaljer skal du navigere til Miljø fane.
  2. Vælg livscykluskonfigurationen for Spark UI på SageMaker Studio.
  3. Vælg Frigør.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  1. Slet og genstart Jupyter Server-apps til SageMaker Studio-brugerprofilerne.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Konklusion

I dette indlæg delte vi en løsning, du kan bruge til hurtigt at installere Spark UI på SageMaker Studio. Med Spark-brugergrænsefladen hostet på SageMaker, kan maskinlæring (ML) og dataingeniørteams bruge skalerbar cloud compute til at få adgang til og analysere Spark-logfiler fra hvor som helst og fremskynde deres projektlevering. It-administratorer kan standardisere og fremskynde leveringen af ​​løsningen i skyen og undgå spredning af tilpassede udviklingsmiljøer til ML-projekter.

Al koden vist som en del af dette indlæg er tilgængelig i GitHub repository.


Om forfatterne

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Giuseppe Angelo Porcelli er en Principal Machine Learning Specialist Solutions Architect for Amazon Web Services. Med flere års softwareudvikling og en ML-baggrund arbejder han med kunder af enhver størrelse for at forstå deres forretningsmæssige og tekniske behov og designe AI- og ML-løsninger, der gør den bedste brug af AWS Cloud og Amazon Machine Learning-stakken. Han har arbejdet på projekter inden for forskellige domæner, herunder MLOps, computervision og NLP, der involverer et bredt sæt af AWS-tjenester. I sin fritid nyder Giuseppe at spille fodbold.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Bruno Pistone er en AI/ML Specialist Solutions Architect for AWS baseret i Milano. Han arbejder med kunder af enhver størrelse og hjælper dem med at forstå deres tekniske behov og designe AI- og ML-løsninger, der gør den bedste brug af AWS Cloud og Amazon Machine Learning-stakken. Hans ekspertise omfatter maskinlæring fra ende til anden, maskinlæringsindustrialisering og generativ kunstig intelligens. Han nyder at tilbringe tid med sine venner og udforske nye steder, såvel som at rejse til nye destinationer.

Tidsstempel:

Mere fra AWS maskinindlæring