Host UI Spark di Amazon SageMaker Studio | Layanan Web Amazon

Host UI Spark di Amazon SageMaker Studio | Layanan Web Amazon

Amazon SageMaker menawarkan beberapa cara untuk menjalankan tugas pemrosesan data terdistribusi dengan Apache Spark, kerangka kerja komputasi terdistribusi populer untuk pemrosesan data besar.

Anda dapat menjalankan aplikasi Spark secara interaktif dari Studio Amazon SageMaker dengan menghubungkan notebook SageMaker Studio dan Sesi Interaktif AWS Glue untuk menjalankan pekerjaan Spark dengan cluster tanpa server. Dengan sesi interaktif, Anda dapat memilih Apache Spark atau Ray untuk memproses kumpulan data besar dengan mudah, tanpa mengkhawatirkan manajemen klaster.

Sebagai alternatif, jika Anda memerlukan kontrol lebih terhadap lingkungan, Anda dapat menggunakan wadah SageMaker Spark bawaan untuk menjalankan aplikasi Spark sebagai tugas batch pada klaster terdistribusi yang dikelola sepenuhnya dengan Pemrosesan SageMaker Amazon. Opsi ini memungkinkan Anda memilih beberapa jenis instans (komputasi yang dioptimalkan, memori yang dioptimalkan, dan lainnya), jumlah node dalam klaster, dan konfigurasi klaster, sehingga memungkinkan fleksibilitas yang lebih besar untuk pemrosesan data dan pelatihan model.

Terakhir, Anda dapat menjalankan aplikasi Spark dengan menghubungkan notebook Studio dengan Amazon ESDM cluster, atau dengan menjalankan cluster Spark Anda Cloud komputasi elastis Amazon (Amazon EC2).

Semua opsi ini memungkinkan Anda membuat dan menyimpan log peristiwa Spark untuk menganalisisnya melalui antarmuka pengguna berbasis web yang biasa disebut Percikan UI, yang menjalankan Spark History Server untuk memantau progres aplikasi Spark, melacak penggunaan sumber daya, dan kesalahan debug.

Pada postingan kali ini kami membagikan a larutan untuk menginstal dan menjalankan Server Riwayat Spark di SageMaker Studio dan mengakses UI Spark langsung dari IDE SageMaker Studio, untuk menganalisis log Spark yang dihasilkan oleh berbagai layanan AWS (Sesi Interaktif AWS Glue, tugas Pemrosesan SageMaker, dan Amazon EMR) dan disimpan dalam Layanan Penyimpanan Sederhana Amazon (Amazon S3).

Ikhtisar solusi

Solusinya mengintegrasikan Spark History Server ke dalam aplikasi Jupyter Server di SageMaker Studio. Ini memungkinkan pengguna untuk mengakses log Spark langsung dari SageMaker Studio IDE. Server Sejarah Spark terintegrasi mendukung yang berikut ini:

  • Mengakses log yang dibuat oleh tugas SageMaker Processing Spark
  • Mengakses log yang dibuat oleh aplikasi AWS Glue Spark
  • Mengakses log yang dihasilkan oleh klaster Spark yang dikelola sendiri dan Amazon EMR

Antarmuka baris perintah utilitas (CLI) dipanggil sm-spark-cli juga disediakan untuk berinteraksi dengan Spark UI dari terminal sistem SageMaker Studio. Itu sm-spark-cli memungkinkan pengelolaan Spark History Server tanpa meninggalkan SageMaker Studio.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Solusinya terdiri dari skrip shell yang melakukan tindakan berikut:

  • Instal Spark di Server Jupyter untuk profil pengguna SageMaker Studio atau untuk ruang bersama SageMaker Studio
  • Instal sm-spark-cli untuk profil pengguna atau ruang bersama

Instal Spark UI secara manual di domain SageMaker Studio

Untuk menghosting Spark UI di SageMaker Studio, selesaikan langkah-langkah berikut:

  1. Pilih Terminal sistem dari peluncur SageMaker Studio.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

  1. Jalankan perintah berikut di terminal 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

Perintah akan memakan waktu beberapa detik untuk diselesaikan.

  1. Saat penginstalan selesai, Anda dapat memulai Spark UI dengan menggunakan yang disediakan sm-spark-cli dan akses dari browser web dengan menjalankan kode berikut:

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

Lokasi S3 tempat log peristiwa yang dihasilkan oleh SageMaker Processing, AWS Glue, atau Amazon EMR disimpan dapat dikonfigurasi saat menjalankan aplikasi Spark.

Untuk notebook SageMaker Studio dan Sesi Interaktif AWS Glue, Anda dapat menyiapkan lokasi log peristiwa Spark langsung dari notebook dengan menggunakan sparkmagic inti.

Grafik sparkmagic kernel berisi seperangkat alat untuk berinteraksi dengan cluster Spark jarak jauh melalui notebook. Menawarkan sihir (%spark, %sql) perintah untuk menjalankan kode Spark, menjalankan kueri SQL, dan mengonfigurasi pengaturan Spark seperti memori dan inti pelaksana.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Untuk tugas Pemrosesan SageMaker, Anda dapat mengonfigurasi lokasi log peristiwa Spark langsung dari SageMaker Python SDK.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Lihat dokumentasi AWS untuk informasi tambahan:

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Anda dapat memilih URL yang dihasilkan untuk mengakses Spark UI.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Tangkapan layar berikut menunjukkan contoh UI Spark.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Anda dapat memeriksa status Spark History Server dengan menggunakan sm-spark-cli status perintah di terminal Sistem Studio.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Anda juga dapat menghentikan Server Riwayat Spark bila diperlukan.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Mengotomatiskan penginstalan Spark UI untuk pengguna di domain SageMaker Studio

Sebagai admin TI, Anda dapat mengotomatiskan penginstalan untuk pengguna SageMaker Studio menggunakan a konfigurasi siklus hidup. Ini dapat dilakukan untuk semua profil pengguna di bawah domain SageMaker Studio atau untuk yang spesifik. Melihat Kustomisasi Amazon SageMaker Studio menggunakan Konfigurasi Siklus Hidup lebih lanjut.

Anda dapat membuat konfigurasi siklus hidup dari instal-sejarah-server.sh skrip dan lampirkan ke domain SageMaker Studio yang sudah ada. Penginstalan dijalankan untuk semua profil pengguna di domain.

Dari terminal yang dikonfigurasi dengan Antarmuka Baris Perintah AWS (AWS CLI) dan izin yang sesuai, jalankan perintah berikut:

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

Setelah Jupyter Server dimulai ulang, Spark UI dan sm-spark-cli akan tersedia di lingkungan SageMaker Studio Anda.

Membersihkan

Di bagian ini, kami menunjukkan cara membersihkan Spark UI di domain SageMaker Studio, baik secara manual maupun otomatis.

Copot pemasangan Spark UI secara manual

Untuk menghapus instalan Spark UI secara manual di SageMaker Studio, selesaikan langkah-langkah berikut:

  1. Pilih Terminal sistem di peluncur SageMaker Studio.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

  1. Jalankan perintah berikut di terminal sistem:
cd amazon-sagemaker-spark-ui-0.1.0/install-scripts chmod +x uninstall-history-server.sh
./uninstall-history-server.sh

Copot pemasangan Spark UI secara otomatis untuk semua profil pengguna SageMaker Studio

Untuk menghapus instalan Spark UI secara otomatis di SageMaker Studio untuk semua profil pengguna, selesaikan langkah-langkah berikut:

  1. Di konsol SageMaker, pilih Domain di panel navigasi, lalu pilih domain SageMaker Studio.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

  1. Di halaman detail domain, navigasikan ke Lingkungan Hidup Tab.
  2. Pilih konfigurasi siklus hidup untuk Spark UI di SageMaker Studio.
  3. Pilih Melepaskan.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

  1. Hapus dan mulai ulang aplikasi Jupyter Server untuk profil pengguna SageMaker Studio.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Kesimpulan

Dalam postingan ini, kami membagikan solusi yang dapat Anda gunakan untuk menginstal Spark UI dengan cepat di SageMaker Studio. Dengan UI Spark yang dihosting di SageMaker, pembelajaran mesin (ML) dan tim teknik data dapat menggunakan komputasi cloud yang dapat diskalakan untuk mengakses dan menganalisis log Spark dari mana saja dan mempercepat pengiriman proyek mereka. Admin TI dapat menstandarkan dan mempercepat penyediaan solusi di cloud dan menghindari proliferasi lingkungan pengembangan khusus untuk proyek ML.

Semua kode yang ditampilkan sebagai bagian dari posting ini tersedia di Repositori GitHub.


Tentang Penulis

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Giuseppe Angelo Porcelli adalah Arsitek Solusi Spesialis Machine Learning Utama untuk Amazon Web Services. Dengan beberapa tahun rekayasa perangkat lunak dan latar belakang ML, dia bekerja dengan pelanggan dari berbagai ukuran untuk memahami kebutuhan bisnis dan teknis mereka serta merancang solusi AI dan ML yang memanfaatkan sebaik-baiknya AWS Cloud dan tumpukan Amazon Machine Learning. Dia telah mengerjakan proyek di berbagai domain, termasuk MLOps, computer vision, dan NLP, yang melibatkan serangkaian layanan AWS. Di waktu luangnya, Giuseppe menikmati bermain sepak bola.

Host Spark UI di Amazon SageMaker Studio | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Bruno Piston adalah Arsitek Solusi Spesialis AI/ML untuk AWS yang berbasis di Milan. Dia bekerja dengan pelanggan dari berbagai ukuran, membantu mereka memahami kebutuhan teknis mereka dan merancang solusi AI dan ML yang memanfaatkan AWS Cloud dan tumpukan Amazon Machine Learning dengan sebaik-baiknya. Bidang keahliannya meliputi machine learning end to end, machine learning endustrialization, dan generative AI. Dia menikmati menghabiskan waktu bersama teman-temannya dan menjelajahi tempat-tempat baru, serta bepergian ke tujuan baru.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS