Găzduiește interfața de utilizare Spark pe Amazon SageMaker Studio | Amazon Web Services

Găzduiește interfața de utilizare Spark pe Amazon SageMaker Studio | Amazon Web Services

Amazon SageMaker oferă mai multe modalități de a rula joburi de procesare a datelor distribuite cu Apache Spark, un cadru de calcul distribuit popular pentru procesarea datelor mari.

Puteți rula aplicațiile Spark în mod interactiv de la Amazon SageMaker Studio prin conectare Notebook-uri SageMaker Studio și sesiuni interactive AWS Glue pentru a rula joburi Spark cu un cluster fără server. Cu sesiunile interactive, puteți alege Apache Spark sau Ray pentru a procesa cu ușurință seturi de date mari, fără să vă faceți griji cu privire la gestionarea clusterelor.

În mod alternativ, dacă aveți nevoie de mai mult control asupra mediului, puteți utiliza un container SageMaker Spark pre-construit pentru a rula aplicații Spark sub formă de joburi batch pe un cluster distribuit complet gestionat cu Procesare Amazon SageMaker. Această opțiune vă permite să selectați mai multe tipuri de instanțe (optimizate pentru calcul, optimizate pentru memorie și altele), numărul de noduri din cluster și configurația clusterului, permițând astfel o mai mare flexibilitate pentru procesarea datelor și formarea modelului.

În cele din urmă, puteți rula aplicațiile Spark conectând notebook-urile Studio cu Amazon EMR clustere, sau rulând clusterul Spark Cloud Elastic de calcul Amazon (Amazon EC2).

Toate aceste opțiuni vă permit să generați și să stocați jurnalele de evenimente Spark pentru a le analiza prin interfața de utilizator bazată pe web, denumită în mod obișnuit Spark UI, care rulează un Spark History Server pentru a monitoriza progresul aplicațiilor Spark, pentru a urmări utilizarea resurselor și pentru a remedia erorile.

În această postare, împărtășim un soluţie pentru instalarea și rularea Spark History Server pe SageMaker Studio și accesarea interfeței de utilizare Spark direct din SageMaker Studio IDE, pentru analiza jurnalelor Spark produse de diferite servicii AWS (AWS Glue Interactive Sessions, joburi de procesare SageMaker și Amazon EMR) și stocate într-un Serviciul Amazon de stocare simplă Găleată (Amazon S3)

Prezentare generală a soluțiilor

Soluția integrează Spark History Server în aplicația Jupyter Server din SageMaker Studio. Acest lucru permite utilizatorilor să acceseze jurnalele Spark direct din SageMaker Studio IDE. Serverul Spark History integrat acceptă următoarele:

  • Accesarea jurnalelor generate de SageMaker Processing jobs Spark
  • Accesarea jurnalelor generate de aplicațiile AWS Glue Spark
  • Accesarea jurnalelor generate de clusterele Spark autogestionate și Amazon EMR

A apelat o interfață de linie de comandă (CLI) utilitar sm-spark-cli este, de asemenea, furnizat pentru interacțiunea cu Spark UI din terminalul de sistem SageMaker Studio. The sm-spark-cli permite gestionarea Spark History Server fără a părăsi SageMaker Studio.

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

Soluția constă din scripturi shell care efectuează următoarele acțiuni:

  • Instalați Spark pe serverul Jupyter pentru profilurile de utilizator SageMaker Studio sau pentru un spațiu partajat SageMaker Studio
  • instalaţi sm-spark-cli pentru un profil de utilizator sau un spațiu comun

Instalați manual interfața de utilizare Spark într-un domeniu SageMaker Studio

Pentru a găzdui Spark UI pe SageMaker Studio, parcurgeți următorii pași:

  1. Alege Terminal de sistem din lansatorul SageMaker Studio.

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

  1. Rulați următoarele comenzi în terminalul de sistem:
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

Comenzile vor dura câteva secunde pentru a fi finalizate.

  1. Când instalarea este finalizată, puteți porni interfața Spark utilizând cea furnizată sm-spark-cli și accesați-l dintr-un browser web rulând următorul cod:

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

Locația S3 în care sunt stocate jurnalele de evenimente produse de SageMaker Processing, AWS Glue sau Amazon EMR poate fi configurată atunci când rulează aplicațiile Spark.

Pentru notebook-urile SageMaker Studio și AWS Glue Interactive Sessions, puteți configura locația jurnalului de evenimente Spark direct din blocnotes, folosind sparkmagic nucleu.

sparkmagic kernel-ul conține un set de instrumente pentru interacțiunea cu clusterele Spark la distanță prin notebook-uri. Oferă magie (%spark, %sql) pentru a rula codul Spark, a efectua interogări SQL și a configura setările Spark, cum ar fi memoria executorului și nucleele.

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

Pentru jobul de procesare SageMaker, puteți configura locația jurnalului de evenimente Spark direct din SDK-ul SageMaker Python.

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

Consultați documentația AWS pentru informații suplimentare:

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

Puteți alege adresa URL generată pentru a accesa interfața de utilizare Spark.

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

Următoarea captură de ecran arată un exemplu de interfață de utilizare Spark.

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

Puteți verifica starea Spark History Server utilizând sm-spark-cli status comandă în terminalul Studio System.

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

De asemenea, puteți opri Spark History Server atunci când este necesar.

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

Automatizați instalarea Spark UI pentru utilizatorii dintr-un domeniu SageMaker Studio

În calitate de administrator IT, puteți automatiza instalarea pentru utilizatorii SageMaker Studio utilizând a configurația ciclului de viață. Acest lucru se poate face pentru toate profilurile de utilizator dintr-un domeniu SageMaker Studio sau pentru anumite profiluri. Vedea Personalizați Amazon SageMaker Studio folosind Configurații ciclului de viață pentru mai multe detalii.

Puteți crea o configurație ciclului de viață din install-history-server.sh script și atașați-l la un domeniu SageMaker Studio existent. Instalarea se execută pentru toate profilurile de utilizator din domeniu.

De la un terminal configurat cu Interfața liniei de comandă AWS (AWS CLI) și permisiunile corespunzătoare, executați următoarele comenzi:

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

După repornirea Jupyter Server, interfața de utilizare Spark și sm-spark-cli va fi disponibil în mediul dumneavoastră SageMaker Studio.

A curăța

În această secțiune, vă arătăm cum să curățați interfața de utilizare Spark într-un domeniu SageMaker Studio, fie manual, fie automat.

Dezinstalați manual interfața de utilizare Spark

Pentru a dezinstala manual Spark UI în SageMaker Studio, parcurgeți următorii pași:

  1. Alege Terminal de sistem în lansatorul SageMaker Studio.

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

  1. Rulați următoarele comenzi în terminalul de sistem:
cd amazon-sagemaker-spark-ui-0.1.0/install-scripts chmod +x uninstall-history-server.sh
./uninstall-history-server.sh

Dezinstalați automat interfața de utilizare Spark pentru toate profilurile de utilizator SageMaker Studio

Pentru a dezinstala automat interfața de utilizare Spark în SageMaker Studio pentru toate profilurile de utilizator, parcurgeți următorii pași:

  1. Pe consola SageMaker, alegeți domenii în panoul de navigare, apoi alegeți domeniul SageMaker Studio.

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

  1. În pagina cu detaliile domeniului, navigați la Mediu inconjurator tab.
  2. Selectați configurația ciclului de viață pentru Spark UI pe SageMaker Studio.
  3. Alege Desprinde.

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

  1. Ștergeți și reporniți aplicațiile Jupyter Server pentru profilurile de utilizator SageMaker Studio.

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

Concluzie

În această postare, am distribuit o soluție pe care o puteți folosi pentru a instala rapid interfața de utilizare Spark pe SageMaker Studio. Cu interfața Spark găzduită pe SageMaker, echipele de învățare automată (ML) și de inginerie a datelor pot folosi cloud compute scalabil pentru a accesa și analiza jurnalele Spark de oriunde și pentru a-și accelera livrarea proiectelor. Administratorii IT pot standardiza și accelera furnizarea soluției în cloud și pot evita proliferarea mediilor de dezvoltare personalizate pentru proiectele ML.

Tot codul afișat ca parte a acestei postări este disponibil în GitHub depozit.


Despre Autori

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Giuseppe Angelo Porcelli este arhitect principal de soluții de specialitate în învățare automată pentru Amazon Web Services. Cu câțiva ani în inginerie software și cunoștințe de ML, el lucrează cu clienți de orice dimensiune pentru a înțelege nevoile lor de afaceri și tehnice și pentru a proiecta soluții AI și ML care folosesc cel mai bine AWS Cloud și Amazon Machine Learning. El a lucrat la proiecte în diferite domenii, inclusiv MLOps, viziune computerizată și NLP, implicând un set larg de servicii AWS. În timpul liber lui Giuseppe îi place să joace fotbal.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Bruno Pistone este un arhitect specializat în soluții AI/ML pentru AWS cu sediul în Milano. Lucrează cu clienți de orice dimensiune, ajutându-i să-și înțeleagă nevoile tehnice și să proiecteze soluții AI și ML care folosesc cel mai bine AWS Cloud și Amazon Machine Learning. Domeniul său de expertiză include învățarea automată de la capăt la capăt, industrializarea învățării automate și AI generativă. Îi place să petreacă timpul cu prietenii săi și să exploreze locuri noi, precum și să călătorească către noi destinații.

Timestamp-ul:

Mai mult de la Învățare automată AWS