Bagaimana titik akhir AWS Glue pengembangan bekerja dengan notebook SageMaker - AWS Glue

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bagaimana titik akhir AWS Glue pengembangan bekerja dengan notebook SageMaker

Salah satu cara umum untuk mengakses titik akhir pengembangan Anda adalah dengan menggunakan Jupyter di notebook. SageMaker Notebook Jupyter adalah sebuah aplikasi web sumber terbuka yang banyak digunakan dalam visualisasi, analitik, machine learning, dll. AWS Glue SageMaker Notebook memberi Anda pengalaman notebook Jupyter dengan titik akhir AWS Glue pengembangan. Di AWS Glue SageMaker notebook, lingkungan notebook Jupyter sudah dikonfigurasi sebelumnya dengan SparkMagic, plugin Jupyter open source untuk mengirimkan pekerjaan Spark ke cluster Spark jarak jauh. Apache Livy adalah sebuah layanan yang memungkinkan interaksi dengan klaster Spark jarak jauh melalui API REST. Di AWS Glue SageMaker notebook, SparkMagic dikonfigurasi untuk memanggil REST API terhadap server Livy yang berjalan pada titik akhir AWS Glue pengembangan.

Alur teks berikut menjelaskan bagaimana masing-masing komponen bekerja:

AWS Glue SageMaker notebook: (Jupyter → SparkMagic) → (jaringan) → titik akhir AWS Glue pengembangan: (Apache Livy → Apache Spark)

Setelah Anda menjalankan skrip Spark yang ditulis di setiap paragraf pada notebook Jupyter, kode Spark dikirimkan ke server Livy melalui SparkMagic, kemudian pekerjaan Spark bernama “Livy-session-N” berjalan di cluster Spark. Tugas ini disebut sesi Livy. Tugas Spark akan berjalan saat sesi notebook masih hidup. Tugas Spark akan diakhiri saat Anda mematikan kernel Jupyter dari notebook, atau saat sesi waktunya habis. Satu tugas Spark diluncurkan untuk setiap file (.ipynb) notebook.

Anda dapat menggunakan satu titik akhir AWS Glue pengembangan dengan beberapa instance SageMaker notebook. Anda dapat membuat beberapa file notebook di setiap instance SageMaker notebook. Saat Anda membuka setiap file notebook dan menjalankan paragraf, maka sesi Livy diluncurkan per file notebook di cluster Spark via. SparkMagic Setiap sesi Livy sesuai dengan saru tugas Spark.

Perilaku default untuk titik akhir AWS Glue pengembangan dan notebook SageMaker

Tugas Spark berjalan berdasarkan Konfigurasi Spark. Ada beberapa cara untuk mengatur konfigurasi Spark (misalnya, konfigurasi cluster Spark, konfigurasi, SparkMagic dll.).

Secara default, Spark mengalokasikan sumber daya klaster untuk sesi Livy berdasarkan konfigurasi klaster Spark. Di titik akhir pengembangan AWS Glue, konfigurasi klaster tergantung pada jenis pekerja. Berikut adalah tabel yang menjelaskan konfigurasi umum per jenis pekerja.

Standar G.1X G.2X
spark.driver.memory 5G 10G 20G
spark.executor.memory 5G 10G 20G
spark.executor.cores 4 8 16
spark.dynamicAllocation.enabled BETUL BETUL BETUL

Jumlah maksimum pelaksana Spark secara otomatis dihitung berdasarkan kombinasi DPU (atau NumberOfWorkers) dan jenis pekerja.

Standar G.1X G.2X
Jumlah maksimal pelaksana Spark (DPU - 1) * 2 - 1 (NumberOfWorkers - 1) (NumberOfWorkers - 1)

Misalnya, jika titik akhir pengembangan Anda memiliki 10 pekerja dan jenis pekerja-nya adalah G.1X, maka Anda akan memiliki 9 pelaksana Spark dan seluruh klaster akan memiliki memori pelaksana sebesar 90G karena setiap pelaksana akan memiliki memori 10G.

Terlepas dari jenis pekerja yang ditentukan, alokasi sumber daya dinamis Spark akan dinyalakan. Jika set data cukup besar, Spark dapat mengalokasikan semua pelaksana untuk satu sesi Livy tunggal karena spark.dynamicAllocation.maxExecutors tidak diatur secara default. Ini berarti bahwa sesi Livy lainnya pada titik akhir pengembangan yang sama akan menunggu untuk meluncurkan pelaksana baru. Jika set data kecil, maka Spark akan dapat mengalokasikan pelaksana untuk beberapa sesi Livy pada saat yang sama.

catatan

Untuk informasi lebih lanjut tentang bagaimana sumber daya dialokasikan dalam kasus penggunaan yang berbeda dan bagaimana Anda menetapkan konfigurasi untuk mengubah perilaku, lihat Konfigurasi lanjutan: berbagi titik akhir pengembangan di antara banyak pengguna.