Var värd för Spark UI på Amazon SageMaker Studio | Amazon webbtjänster

Var värd för Spark UI på Amazon SageMaker Studio | Amazon webbtjänster

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.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

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:

  1. Välja Systemterminal från SageMaker Studio launcher.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  1. Kör följande kommandon 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

Kommandona kommer att ta några sekunder att slutföra.

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

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

För SageMaker Processing-jobbet kan du konfigurera Spark-händelseloggplatsen direkt från SageMaker Python SDK.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Se AWS-dokumentationen för ytterligare information:

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Du kan välja den genererade webbadressen för att komma åt Spark UI.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Följande skärmdump visar ett exempel på Spark UI.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Du kan kontrollera statusen för Spark History Server genom att använda sm-spark-cli status kommandot i Studio System-terminalen.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Du kan också stoppa Spark History Server vid behov.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

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:

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 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:

  1. Välja Systemterminal i SageMaker Studios startprogram.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  1. Kör följande kommandon i systemterminalen:
cd amazon-sagemaker-spark-ui-0.1.0/install-scripts chmod +x uninstall-history-server.sh
./uninstall-history-server.sh

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:

  1. Välj på SageMaker-konsolen domäner i navigeringsfönstret och välj sedan SageMaker Studio-domänen.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  1. På sidan med domändetaljer, navigera till Miljö fliken.
  2. Välj livscykelkonfiguration för Spark UI på SageMaker Studio.
  3. Välja Lossa.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  1. Ta bort och starta om Jupyter Server-apparna för SageMaker Studios användarprofiler.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

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

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.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.

Värd för Spark UI på Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.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.

Tidsstämpel:

Mer från AWS maskininlärning