Amazon SageMaker erbjuder flera sätt att köra distribuerade databearbetningsjobb med Apache Spark, ett populärt distribuerat ramverk för stordatabehandling.
Du kan köra Spark-applikationer interaktivt från Amazon SageMaker Studio genom att ansluta SageMaker Studio-anteckningsböcker och AWS Glue Interactive Sessions för att köra Spark-jobb med ett serverlöst kluster. Med interaktiva sessioner kan du välja Apache Spark eller Ray för att enkelt bearbeta stora datamängder, utan att behöva oroa dig för klusterhantering.
Alternativt, om du behöver mer kontroll över miljön, kan du använda en förbyggd SageMaker Spark-behållare för att köra Spark-applikationer som batch-jobb på ett fullt hanterat distribuerat kluster med Amazon SageMaker-bearbetning. Det här alternativet låter dig välja flera typer av instanser (beräkningsoptimerad, minnesoptimerad med mera), antalet noder i klustret och klusterkonfigurationen, vilket möjliggör större flexibilitet för databearbetning och modellträning.
Slutligen kan du köra Spark-applikationer genom att ansluta Studio-anteckningsböcker med Amazon EMR kluster, eller genom att köra ditt Spark-kluster på Amazon Elastic Compute Cloud (Amazon EC2).
Alla dessa alternativ låter dig generera och lagra Spark-händelseloggar för att analysera dem genom det webbaserade användargränssnittet som vanligtvis kallas Spark UI, som kör en Spark History Server för att övervaka utvecklingen av Spark-applikationer, spåra resursanvändning och felsöka fel.
I det här inlägget delar vi en lösning för att installera och köra Spark History Server på SageMaker Studio och komma åt Spark UI direkt från SageMaker Studio IDE, för att analysera Spark-loggar producerade av olika AWS-tjänster (AWS Glue Interactive Sessions, SageMaker Processing-jobb och Amazon EMR) och lagrade i en Amazon enkel lagringstjänst (Amazon S3) hink.
Lösningsöversikt
Lösningen integrerar Spark History Server i Jupyter Server-appen i SageMaker Studio. Detta tillåter användare att komma åt Spark-loggar direkt från SageMaker Studio IDE. Den integrerade Spark History Server stöder följande:
- Åtkomst till loggar som genereras av SageMaker Processing Spark-jobb
- Åtkomst till loggar genererade av AWS Glue Spark-applikationer
- Åtkomst till loggar genererade av självhanterade Spark-kluster och Amazon EMR
Ett verktygs kommandoradsgränssnitt (CLI) anropas sm-spark-cli
finns också för att interagera med Spark UI från SageMaker Studios systemterminal. De sm-spark-cli
möjliggör hantering av Spark History Server utan att lämna SageMaker Studio.
Lösningen består av skalskript som utför följande åtgärder:
- Installera Spark på Jupyter-servern för SageMaker Studio-användarprofiler eller för ett delat utrymme för SageMaker Studio
- installera
sm-spark-cli
för en användarprofil eller delat utrymme
Installera Spark UI manuellt i en SageMaker Studio-domän
För att vara värd för Spark UI på SageMaker Studio, slutför följande steg:
- Välja Systemterminal från SageMaker Studio launcher.
- Kör följande kommandon i systemterminalen:
Kommandona kommer att ta några sekunder att slutföra.
- När installationen är klar kan du starta Spark UI genom att använda det medföljande
sm-spark-cli
och få åtkomst till den från en webbläsare genom att köra följande kod:
sm-spark-cli start s3://DOC-EXAMPLE-BUCKET/<SPARK_EVENT_LOGS_LOCATION>
S3-platsen där händelseloggarna som produceras av SageMaker Processing, AWS Glue eller Amazon EMR lagras kan konfigureras när du kör Spark-applikationer.
För SageMaker Studio-anteckningsböcker och AWS Glue Interactive Sessions kan du ställa in Spark-händelseloggplatsen direkt från anteckningsboken genom att använda sparkmagic
kärna.
Smakämnen sparkmagic
kärnan innehåller en uppsättning verktyg för att interagera med fjärranslutna Spark-kluster via bärbara datorer. Det erbjuder magi (%spark
, %sql
) kommandon för att köra Spark-kod, utföra SQL-frågor och konfigurera Spark-inställningar som exekutorminne och kärnor.
För SageMaker Processing-jobbet kan du konfigurera Spark-händelseloggplatsen direkt från SageMaker Python SDK.
Se AWS-dokumentationen för ytterligare information:
Du kan välja den genererade webbadressen för att komma åt Spark UI.
Följande skärmdump visar ett exempel på Spark UI.
Du kan kontrollera statusen för Spark History Server genom att använda sm-spark-cli status
kommandot i Studio System-terminalen.
Du kan också stoppa Spark History Server vid behov.
Automatisera Spark UI-installationen för användare i en SageMaker Studio-domän
Som IT-administratör kan du automatisera installationen för SageMaker Studio-användare genom att använda en livscykelskonfiguration. Detta kan göras för alla användarprofiler under en SageMaker Studio-domän eller för specifika. Ser Anpassa Amazon SageMaker Studio med hjälp av livscykelkonfigurationer för mer detaljer.
Du kan skapa en livscykelkonfiguration från install-history-server.sh skript och bifoga det till en befintlig SageMaker Studio-domän. Installationen körs för alla användarprofiler i domänen.
Från en terminal konfigurerad med AWS-kommandoradsgränssnitt (AWS CLI) och lämpliga behörigheter, kör följande kommandon:
Efter att Jupyter Server har startat om, Spark UI och sm-spark-cli
kommer att vara tillgänglig i din SageMaker Studio-miljö.
Städa upp
I det här avsnittet visar vi dig hur du rengör Spark UI i en SageMaker Studio-domän, antingen manuellt eller automatiskt.
Avinstallera Spark UI manuellt
För att manuellt avinstallera Spark UI i SageMaker Studio, utför följande steg:
- Välja Systemterminal i SageMaker Studios startprogram.
- Kör följande kommandon i systemterminalen:
Avinstallera Spark UI automatiskt för alla SageMaker Studio-användarprofiler
För att automatiskt avinstallera Spark UI i SageMaker Studio för alla användarprofiler, utför följande steg:
- Välj på SageMaker-konsolen domäner i navigeringsfönstret och välj sedan SageMaker Studio-domänen.
- På sidan med domändetaljer, navigera till Miljö fliken.
- Välj livscykelkonfiguration för Spark UI på SageMaker Studio.
- Välja Lossa.
- Ta bort och starta om Jupyter Server-apparna för SageMaker Studios användarprofiler.
Slutsats
I det här inlägget delade vi en lösning som du kan använda för att snabbt installera Spark UI på SageMaker Studio. Med Spark-gränssnittet på SageMaker kan maskininlärnings- (ML) och datateknikteam använda skalbar molnberäkning för att komma åt och analysera Spark-loggar var som helst och påskynda leveransen av sina projekt. IT-administratörer kan standardisera och påskynda leveransen av lösningen i molnet och undvika spridning av anpassade utvecklingsmiljöer för ML-projekt.
All kod som visas som en del av detta inlägg är tillgänglig i GitHub repository.
Om författarna
Giuseppe Angelo Porcelli är en huvudsaklig maskininlärningsspecialistlösningsarkitekt för Amazon Web Services. Med flera års mjukvaruteknik och en ML-bakgrund arbetar han med kunder av alla storlekar för att förstå deras affärsbehov och tekniska behov och designa AI- och ML-lösningar som utnyttjar AWS Cloud och Amazon Machine Learning-stacken på bästa sätt. Han har arbetat med projekt inom olika domäner, inklusive MLOps, datorseende och NLP, som involverar en bred uppsättning AWS-tjänster. På fritiden tycker Giuseppe om att spela fotboll.
Bruno Pistone är en AI/ML Specialist Solutions Architect för AWS baserad i Milano. Han arbetar med kunder av alla storlekar och hjälper dem att förstå deras tekniska behov och designa AI- och ML-lösningar som utnyttjar AWS Cloud och Amazon Machine Learning-stacken på bästa sätt. Hans expertområde inkluderar maskininlärning från början till slut, maskininlärningsindustrialisering och generativ AI. Han tycker om att umgås med sina vänner och utforska nya platser, samt att resa till nya destinationer.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Fordon / elbilar, Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- BlockOffsets. Modernisera miljökompensation ägande. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/host-the-spark-ui-on-amazon-sagemaker-studio/
- : har
- :är
- :var
- $UPP
- 1
- 100
- 12
- 7
- 8
- 9
- a
- Om oss
- tillgång
- åtkomst
- åtgärder
- Annat
- ytterligare information
- administration
- AI
- AI / ML
- Alla
- tillåter
- tillåter
- också
- amason
- Amazon EC2
- Amazon EMR
- Amazon maskininlärning
- Amazon SageMaker
- Amazon SageMaker Studio
- Amazon Web Services
- an
- analysera
- analys
- och
- vilken som helst
- var som helst
- Apache
- app
- tillämpningar
- lämpligt
- appar
- ÄR
- AS
- bifoga
- automatisera
- automatiskt
- tillgänglig
- undvika
- AWS
- AWS-lim
- bakgrund
- baserat
- BE
- BÄST
- Stor
- Stora data
- bred
- webbläsare
- företag
- by
- kallas
- KAN
- CD
- ta
- Välja
- cloud
- kluster
- koda
- vanligen
- fullborda
- Compute
- dator
- Datorsyn
- databehandling
- konfiguration
- konfigurerad
- Anslutning
- består
- Konsol
- Behållare
- innehåller
- kontroll
- skapa
- beställnings
- Kunder
- datum
- databehandling
- datauppsättningar
- leverans
- Designa
- destinationer
- detaljer
- Utveckling
- olika
- direkt
- distribueras
- distribuerad databehandling
- dokumentation
- domän
- domäner
- gjort
- lätt
- antingen
- möjliggör
- möjliggör
- änden
- Teknik
- Miljö
- miljöer
- fel
- händelse
- exempel
- befintliga
- påskynda
- Utforska
- få
- fält
- Flexibilitet
- efter
- fotboll
- För
- Ramverk
- Fri
- vänner
- från
- fullständigt
- generera
- genereras
- generativ
- Generativ AI
- större
- he
- hjälpa
- hans
- historia
- värd
- värd
- Hur ser din drömresa ut
- How To
- html
- http
- HTTPS
- if
- in
- innefattar
- Inklusive
- informationen
- installera
- Installationen
- installera
- integrerade
- integrerar
- interagera
- interaktiva
- Gränssnitt
- in
- involverar
- IT
- Jobb
- Lediga jobb
- jpg
- Large
- inlärning
- lämnar
- livscykel
- tycka om
- linje
- läge
- log
- Maskinen
- maskininlärning
- magi
- göra
- förvaltade
- ledning
- hantera
- manuellt
- Minne
- MILAN
- ML
- MLOps
- modell
- Övervaka
- mer
- Som heter
- Navigera
- Navigering
- Behöver
- behövs
- behov
- Nya
- nlp
- noder
- anteckningsbok
- antal
- of
- Erbjudanden
- on
- ettor
- optimerad
- Alternativet
- Tillbehör
- or
- över
- sida
- panelen
- del
- Utföra
- behörigheter
- platser
- plato
- Platon Data Intelligence
- PlatonData
- i
- Populära
- Inlägg
- Principal
- process
- bearbetning
- producerad
- Profil
- Profiler
- Framsteg
- projektet
- projekt
- förutsatt
- Python
- sökfrågor
- snabbt
- STRÅLE
- avlägsen
- resurs
- Körning
- rinnande
- kör
- sagemaker
- skalbar
- skript
- sDK
- sekunder
- §
- se
- Server
- Tjänster
- sessioner
- in
- inställningar
- flera
- Dela
- delas
- Shell
- show
- visas
- Visar
- Enkelt
- Storlek
- Mjukvara
- mjukvaruutveckling
- lösning
- Lösningar
- Gnista
- specialist
- specifik
- fart
- Spendera
- stapel
- starta
- status
- Steg
- Sluta
- förvaring
- lagra
- lagras
- studio
- Stöder
- system
- Ta
- lag
- Teknisk
- terminal
- den där
- Smakämnen
- deras
- Dem
- sedan
- vari
- Dessa
- detta
- Genom
- tid
- till
- verktyg
- spår
- Utbildning
- Traveling
- typer
- ui
- under
- förstå
- URL
- Användning
- användning
- Användare
- Användargränssnitt
- användare
- med hjälp av
- verktyg
- syn
- sätt
- we
- webb
- webbläsare
- webbservice
- Webb-baserad
- VÄL
- när
- som
- kommer
- med
- utan
- arbetade
- fungerar
- år
- Om er
- Din
- zephyrnet