Hostuj interfejs Spark w Amazon SageMaker Studio | Usługi sieciowe Amazona

Hostuj interfejs Spark w Amazon SageMaker Studio | Usługi sieciowe Amazona

Amazon Sage Maker oferuje kilka sposobów uruchamiania rozproszonych zadań przetwarzania danych za pomocą Apache Spark, popularnej platformy przetwarzania rozproszonego do przetwarzania dużych zbiorów danych.

Możesz interaktywnie uruchamiać aplikacje platformy Spark Studio Amazon SageMaker przez połączenie Notatniki SageMaker Studio i interaktywne sesje AWS Glue do uruchamiania zadań platformy Spark w klastrze bezserwerowym. Dzięki interaktywnym sesjom możesz wybrać Apache Spark lub Ray, aby łatwo przetwarzać duże zestawy danych, nie martwiąc się o zarządzanie klastrami.

Alternatywnie, jeśli potrzebujesz większej kontroli nad środowiskiem, możesz użyć gotowego kontenera SageMaker Spark do uruchamiania aplikacji Spark jako zadań wsadowych we w pełni zarządzanym rozproszonym klastrze z Przetwarzanie Amazon SageMaker. Ta opcja umożliwia wybranie kilku typów wystąpień (zoptymalizowanych pod kątem obliczeń, zoptymalizowanych pod kątem pamięci i innych), liczby węzłów w klastrze i konfiguracji klastra, co zapewnia większą elastyczność przetwarzania danych i szkolenia modeli.

Wreszcie, możesz uruchamiać aplikacje Spark, łącząc notesy Studio z Amazon EMR klastrylub uruchamiając klaster Spark Elastyczna chmura obliczeniowa Amazon (Amazonka EC2).

Wszystkie te opcje umożliwiają generowanie i przechowywanie dzienników zdarzeń platformy Spark w celu ich analizy za pośrednictwem internetowego interfejsu użytkownika, powszechnie zwanego Interfejs Spark, który uruchamia serwer historii Spark, aby monitorować postęp aplikacji Spark, śledzić użycie zasobów i błędy debugowania.

W tym poście udostępniamy a rozwiązanie do instalowania i uruchamiania Spark History Server w SageMaker Studio i uzyskiwania dostępu do interfejsu użytkownika Spark bezpośrednio z SageMaker Studio IDE, do analizowania dzienników Spark tworzonych przez różne usługi AWS (sesje AWS Glue Interactive, zadania SageMaker Processing i Amazon EMR) i przechowywane w Usługa Amazon Simple Storage Łyżka (Amazon S3).

Omówienie rozwiązania

Rozwiązanie integruje Spark History Server z aplikacją Jupyter Server w SageMaker Studio. Pozwala to użytkownikom na dostęp do dzienników Spark bezpośrednio z SageMaker Studio IDE. Zintegrowany serwer Spark History Server obsługuje następujące funkcje:

  • Dostęp do dzienników generowanych przez zadania SageMaker Processing Spark
  • Dostęp do logów generowanych przez aplikacje AWS Glue Spark
  • Dostęp do dzienników generowanych przez samodzielnie zarządzane klastry Spark i Amazon EMR

Interfejs wiersza poleceń narzędzia (CLI) o nazwie sm-spark-cli zapewnia również interakcję z interfejsem użytkownika Spark z poziomu terminala systemowego SageMaker Studio. The sm-spark-cli umożliwia zarządzanie Spark History Server bez opuszczania SageMaker Studio.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rozwiązanie składa się ze skryptów powłoki, które wykonują następujące czynności:

  • Zainstaluj Spark na serwerze Jupyter dla profili użytkowników SageMaker Studio lub dla przestrzeni współdzielonej SageMaker Studio
  • Instalacja sm-spark-cli dla profilu użytkownika lub współdzielonej przestrzeni

Zainstaluj interfejs Spark ręcznie w domenie SageMaker Studio

Aby hostować Spark UI w SageMaker Studio, wykonaj następujące kroki:

  1. Dodaj Terminal systemowy z programu uruchamiającego SageMaker Studio.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Uruchom następujące polecenia w terminalu systemowym:
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

Wykonanie poleceń zajmie kilka sekund.

  1. Po zakończeniu instalacji możesz uruchomić interfejs użytkownika platformy Spark przy użyciu dostarczonego pliku sm-spark-cli i uzyskaj do niego dostęp z przeglądarki internetowej, uruchamiając następujący kod:

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

Lokalizację S3, w której przechowywane są dzienniki zdarzeń generowane przez SageMaker Processing, AWS Glue lub Amazon EMR, można skonfigurować podczas uruchamiania aplikacji Spark.

W przypadku notatników SageMaker Studio i sesji interaktywnych AWS Glue możesz skonfigurować lokalizację dziennika zdarzeń Spark bezpośrednio z notatnika za pomocą sparkmagic jądro.

Połączenia sparkmagic Jądro zawiera zestaw narzędzi do interakcji ze zdalnymi klastrami Spark za pośrednictwem notebooków. Oferuje magię (%spark, %sql) polecenia do uruchamiania kodu platformy Spark, wykonywania zapytań SQL i konfigurowania ustawień platformy Spark, takich jak pamięć wykonawcy i rdzenie.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

W przypadku zadania SageMaker Processing można skonfigurować lokalizację dziennika zdarzeń Spark bezpośrednio z zestawu SageMaker Python SDK.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zapoznaj się z dokumentacją AWS, aby uzyskać dodatkowe informacje:

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Możesz wybrać wygenerowany adres URL, aby uzyskać dostęp do interfejsu użytkownika platformy Spark.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Poniższy zrzut ekranu przedstawia przykład interfejsu użytkownika platformy Spark.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Możesz sprawdzić stan serwera historii Spark, używając sm-spark-cli status polecenie w terminalu Studio System.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

W razie potrzeby możesz także zatrzymać serwer historii Spark.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zautomatyzuj instalację Spark UI dla użytkowników w domenie SageMaker Studio

Jako administrator IT możesz zautomatyzować instalację dla użytkowników SageMaker Studio, używając pliku konfiguracja cyklu życia. Można to zrobić dla wszystkich profili użytkowników w domenie SageMaker Studio lub dla określonych. Widzieć Dostosuj Amazon SageMaker Studio za pomocą konfiguracji cyklu życia by uzyskać więcej szczegółów.

Konfigurację cyklu życia można utworzyć z pliku install-history-server.sh script i dołącz go do istniejącej domeny SageMaker Studio. Instalacja jest uruchamiana dla wszystkich profili użytkowników w domenie.

Z terminala skonfigurowanego za pomocą Interfejs wiersza poleceń AWS (AWS CLI) i odpowiednie uprawnienia, uruchom następujące polecenia:

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

Po ponownym uruchomieniu serwera Jupyter interfejs użytkownika platformy Spark i sm-spark-cli będzie dostępny w Twoim środowisku SageMaker Studio.

Sprzątać

W tej sekcji pokazujemy, jak wyczyścić interfejs użytkownika Spark w domenie SageMaker Studio, ręcznie lub automatycznie.

Ręcznie odinstaluj interfejs użytkownika platformy Spark

Aby ręcznie odinstalować interfejs Spark w SageMaker Studio, wykonaj następujące kroki:

  1. Dodaj Terminal systemowy w programie uruchamiającym SageMaker Studio.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Uruchom następujące polecenia w terminalu systemowym:
cd amazon-sagemaker-spark-ui-0.1.0/install-scripts chmod +x uninstall-history-server.sh
./uninstall-history-server.sh

Automatycznie odinstaluj interfejs Spark dla wszystkich profili użytkowników SageMaker Studio

Aby automatycznie odinstalować interfejs Spark w SageMaker Studio dla wszystkich profili użytkowników, wykonaj następujące kroki:

  1. W konsoli SageMaker wybierz domeny w panelu nawigacyjnym, a następnie wybierz domenę SageMaker Studio.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Na stronie szczegółów domeny przejdź do Środowisko patka.
  2. Wybierz konfigurację cyklu życia interfejsu Spark w SageMaker Studio.
  3. Dodaj Odłączyć.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  1. Usuń i uruchom ponownie aplikacje Jupyter Server dla profili użytkowników SageMaker Studio.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Wnioski

W tym poście udostępniliśmy rozwiązanie, którego możesz użyć do szybkiej instalacji interfejsu Spark w SageMaker Studio. Dzięki interfejsowi użytkownika Spark hostowanemu w SageMaker, zespoły zajmujące się uczeniem maszynowym (ML) i inżynierią danych mogą korzystać ze skalowalnych obliczeń w chmurze, aby uzyskiwać dostęp do dzienników Spark i analizować je z dowolnego miejsca oraz przyspieszać realizację projektów. Administratorzy IT mogą ustandaryzować i przyspieszyć udostępnianie rozwiązania w chmurze oraz uniknąć mnożenia niestandardowych środowisk programistycznych dla projektów ML.

Cały kod pokazany jako część tego posta jest dostępny w Repozytorium GitHub.


O autorach

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Giuseppe Angelo Porcellego jest głównym architektem rozwiązań specjalizujących się w uczeniu maszynowym w Amazon Web Services. Z kilkuletnim doświadczeniem w inżynierii oprogramowania i ML współpracuje z klientami dowolnej wielkości, aby zrozumieć ich potrzeby biznesowe i techniczne oraz zaprojektować rozwiązania AI i ML, które najlepiej wykorzystują AWS Cloud i stos Amazon Machine Learning. Pracował nad projektami z różnych dziedzin, w tym MLOps, wizji komputerowej i NLP, obejmujących szeroki zestaw usług AWS. W wolnym czasie Giuseppe lubi grać w piłkę nożną.

Hostuj interfejs Spark w Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Bruno Piston jest Architektem Rozwiązań Specjalistycznych AI/ML dla AWS z siedzibą w Mediolanie. Pracuje z klientami dowolnej wielkości, pomagając im zrozumieć ich potrzeby techniczne i zaprojektować rozwiązania AI i ML, które najlepiej wykorzystują AWS Cloud i stos Amazon Machine Learning. Jego specjalizacja obejmuje kompleksowe uczenie maszynowe, endustrializację uczenia maszynowego i generatywną sztuczną inteligencję. Lubi spędzać czas z przyjaciółmi i odkrywać nowe miejsca, a także podróżować do nowych miejsc.

Znak czasu:

Więcej z Uczenie maszynowe AWS