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.
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:
- Velg Systemterminal fra SageMaker Studio-starteren.
- Kjør følgende kommandoer i systemterminalen:
Kommandoene vil ta noen sekunder å fullføre.
- 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.
For SageMaker Processing-jobben kan du konfigurere Spark-hendelsesloggplasseringen direkte fra SageMaker Python SDK.
Se AWS-dokumentasjonen for ytterligere informasjon:
Du kan velge den genererte URL-en for å få tilgang til Spark-grensesnittet.
Følgende skjermbilde viser et eksempel på Spark UI.
Du kan sjekke statusen til Spark History Server ved å bruke sm-spark-cli status
kommandoen i Studio System-terminalen.
Du kan også stoppe Spark History Server ved behov.
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:
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:
- Velg Systemterminal i SageMaker Studio-starteren.
- Kjør følgende kommandoer i systemterminalen:
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:
- Velg på SageMaker-konsollen Domener i navigasjonsruten, og velg deretter SageMaker Studio-domenet.
- På siden med domenedetaljer, naviger til Miljø fanen.
- Velg livssykluskonfigurasjonen for Spark UI på SageMaker Studio.
- Velg Løsne.
- Slett og start Jupyter Server-appene på nytt for SageMaker Studio-brukerprofilene.
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
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.
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.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Bil / elbiler, Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- BlockOffsets. Modernisering av eierskap for miljøkompensasjon. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/host-the-spark-ui-on-amazon-sagemaker-studio/
- : har
- :er
- :hvor
- $OPP
- 1
- 100
- 12
- 7
- 8
- 9
- a
- Om oss
- adgang
- Tilgang
- handlinger
- Ytterligere
- Tilleggsinformasjon
- admin
- AI
- AI / ML
- Alle
- tillate
- tillater
- også
- Amazon
- Amazon EC2
- Amazon EMR
- Amazon maskinlæring
- Amazon SageMaker
- Amazon SageMaker Studio
- Amazon Web Services
- an
- analysere
- analyserer
- og
- noen
- hvor som helst
- Apache
- app
- søknader
- hensiktsmessig
- apps
- ER
- AS
- feste
- automatisere
- automatisk
- tilgjengelig
- unngå
- AWS
- AWS Lim
- bakgrunn
- basert
- BE
- BEST
- Stor
- Store data
- bred
- nett~~POS=TRUNC leseren~~POS=HEADCOMP
- virksomhet
- by
- som heter
- CAN
- CD
- sjekk
- Velg
- Cloud
- Cluster
- kode
- vanligvis
- fullføre
- Beregn
- datamaskin
- Datamaskin syn
- databehandling
- Konfigurasjon
- konfigurert
- Tilkobling
- består
- Konsoll
- Container
- inneholder
- kontroll
- skape
- skikk
- Kunder
- dato
- databehandling
- datasett
- levering
- utforming
- destinasjoner
- detaljer
- Utvikling
- forskjellig
- direkte
- distribueres
- distribuert databehandling
- dokumentasjon
- domene
- domener
- gjort
- lett
- enten
- muliggjør
- muliggjør
- slutt
- Ingeniørarbeid
- Miljø
- miljøer
- feil
- Event
- eksempel
- eksisterende
- fremskynde
- Utforske
- Noen få
- felt
- fleksibilitet
- etter
- fotball
- Til
- Rammeverk
- Gratis
- venner
- fra
- fullt
- generere
- generert
- generative
- Generativ AI
- større
- he
- hjelpe
- hans
- historie
- vert
- vert
- Hvordan
- Hvordan
- HTML
- http
- HTTPS
- if
- in
- inkluderer
- Inkludert
- informasjon
- installere
- installasjon
- installere
- integrert
- Integrerer
- samhandler
- interaktiv
- Interface
- inn
- involverer
- IT
- Jobb
- Jobb
- jpg
- stor
- læring
- forlater
- Livssyklus
- i likhet med
- linje
- plassering
- logg
- maskin
- maskinlæring
- magi
- gjøre
- fikk til
- ledelse
- administrerende
- manuelt
- Minne
- MILAN
- ML
- MLOps
- modell
- Overvåke
- mer
- oppkalt
- Naviger
- Navigasjon
- Trenger
- nødvendig
- behov
- Ny
- nlp
- noder
- bærbare
- Antall
- of
- Tilbud
- on
- seg
- optimalisert
- Alternativ
- alternativer
- or
- enn
- side
- brød
- del
- Utfør
- tillatelser
- steder
- plato
- Platon Data Intelligence
- PlatonData
- spiller
- Populær
- Post
- Principal
- prosess
- prosessering
- produsert
- Profil
- Profiler
- Progress
- prosjekt
- prosjekter
- forutsatt
- Python
- spørsmål
- raskt
- RAY
- fjernkontroll
- ressurs
- Kjør
- rennende
- går
- sagemaker
- skalerbar
- skript
- SDK
- sekunder
- Seksjon
- se
- server~~POS=TRUNC
- Tjenester
- sesjoner
- sett
- innstillinger
- flere
- Del
- delt
- Shell
- Vis
- vist
- Viser
- Enkelt
- Størrelse
- Software
- software engineering
- løsning
- Solutions
- Spark
- spesialist
- spesifikk
- fart
- utgifter
- stable
- Begynn
- status
- Steps
- Stopp
- lagring
- oppbevare
- lagret
- studio
- Støtter
- system
- Ta
- lag
- Teknisk
- terminal
- Det
- De
- deres
- Dem
- deretter
- derved
- Disse
- denne
- Gjennom
- tid
- til
- verktøy
- spor
- Kurs
- Traveling
- typer
- ui
- etter
- forstå
- URL
- bruk
- bruke
- Bruker
- Brukergrensesnitt
- Brukere
- ved hjelp av
- verktøyet
- syn
- måter
- we
- web
- nettleser
- webtjenester
- Web-basert
- VI VIL
- når
- hvilken
- vil
- med
- uten
- arbeidet
- virker
- år
- Du
- Din
- zephyrnet