Sesi interaktif AWS Glue memungkinkan para insinyur membuat, menguji, dan menjalankan persiapan data dan beban kerja analitik dalam buku catatan interaktif. Sesi interaktif menyediakan lingkungan pengembangan yang terisolasi, menangani cluster komputasi yang mendasarinya, dan memungkinkan konfigurasi untuk menghentikan sumber daya yang menganggur.
Sesi interaktif Glue menyediakan konfigurasi default yang direkomendasikan, dan juga memungkinkan pengguna untuk melakukannya menyesuaikan sesi untuk memenuhi kebutuhan mereka. Misalnya, Anda dapat menyediakan lebih banyak pekerja untuk bereksperimen pada kumpulan data yang lebih besar atau mengatur waktu tunggu tidak aktif untuk beban kerja yang berjalan lama. Dengan fleksibilitas untuk mengubah opsi ini bergantung pada beban kerja, Anda mungkin perlu memastikan bahwa opsi diubah dalam batasan tertentu dan menerapkan mekanisme kontrol.
Dalam posting ini, kami menyajikan proses penerapan a solusi yang dapat digunakan kembali untuk menerapkan batas sesi interaktif AWS Glue pada tiga opsi: koneksi, jumlah pekerja, dan waktu idle maksimum. Opsi pertama menjawab kebutuhan untuk menerapkan pemeriksaan dan kontrol khusus pada lalu lintas, misalnya dengan menerapkan sesi interaktif agar hanya dijalankan di dalam VPC. Dua lainnya menerapkan batasan biaya dan penggunaan Lem AWS sumber daya dengan menerapkan batas atas jumlah pekerja dan waktu menganggur per sesi. Anda dapat memperluas solusi lebih lanjut untuk properti atau layanan lain dalam AWS Glue.
Ikhtisar solusi
Arsitektur yang diusulkan dibangun pada komponen tanpa server dan berjalan setiap kali sesi interaktif AWS Glue baru dibuat.
Langkah-langkah alur kerjanya adalah sebagai berikut:
- Seorang insinyur data membuat sesi interaktif AWS Glue baru melalui Konsol Manajemen AWS atau di notebook Jupyter secara lokal.
- Sesi interaktif menghasilkan acara baru untuk AWS CloudTrail untuk
CreateSession
acara dengan semua informasi yang relevan untuk mengidentifikasi dan memeriksa sesi segera setelah sesi dimulai. - An Jembatan Acara Amazon aturan memfilter peristiwa CloudTrail dan memanggil AWS Lambda berfungsi untuk memeriksa
CreateSession
peristiwa. - Fungsi Lambda memeriksa
CreateSession
peristiwa dan memeriksa semua kondisi batas yang ditentukan. Saat ini, batasan yang dapat dikonfigurasi dengan solusi ini terbatas pada jumlah maksimum pekerja, waktu tunggu menganggur dalam hitungan menit, dan penerapan dengan koneksi yang diberlakukan. - Jika salah satu kondisi batas yang ditentukan tidak terpenuhi, misalnya terlalu banyak pekerja yang disediakan untuk sesi tersebut, bergantung pada konfigurasi yang disediakan, fungsi akan segera mengakhiri sesi interaktif dan mengirimkan email melalui Layanan Pemberitahuan Sederhana Amazon (Amazon SNS). Jika sesi belum dimulai, fungsi akan menunggu hingga sesi dimulai sebelum mengambil tindakan apa pun.
- Jika sesi dihentikan, email dikirim ke topik SNS. Tidak ada informasi yang tersedia di buku catatan sesi interaktif tentang alasan berakhirnya sesi. Oleh karena itu, informasi konteks tambahan diberikan melalui topik SNS kepada para insinyur data.
- Jika fungsi tersebut gagal, sesi akan dicatat a antrian surat mati dalam Layanan Antrian Sederhana Amazon (Amazon SQS). Selanjutnya, antrian dipantau dan jika ada pesan, itu akan memicu amazoncloudwatch alarm.
Langkah-langkah berikut memandu Anda dalam membangun dan menerapkan solusi. Kode tersedia di GitHub repo.
Prasyarat
Untuk penelusuran ini, Anda harus memiliki prasyarat berikut:
Ikhtisar sumber daya yang dikerahkan
Semua sumber daya yang diperlukan didefinisikan dalam Formasi AWS Cloud file terletak di bawah cfn/template.yaml
. Untuk menyebarkan sumber daya tersebut, kami menggunakan Model Aplikasi Tanpa Server AWS (AWS SAM), yang memungkinkan kami dengan mudah membangun dan mengemas semua dependensi dan juga mengelola langkah-langkah AWS CloudFormation untuk kami.
Tumpukan CloudFormation menyebarkan sumber daya berikut:
- Fungsi Lambda dengan perpustakaannya, keduanya ditentukan di bawah direktori src/functions. Fungsinya adalah kontrol. Ini akan memvalidasi bahwa sesi dimulai dalam batas yang ditentukan.
- Aturan EventBridge. Peristiwa ini mendengarkan CloudTrail dan jika ada sesi interaktif baru, akan memicu fungsi kontrol Lambda.
- Antrean surat mati (DLQ) SQS yang melekat pada fungsi Lambda. Ini menyimpan catatan kejadian yang memicu kegagalan fungsi Lambda.
- Dua alarm CloudWatch memantau kegagalan fungsi Lambda dan pesan di DLQ.
Jika pemberitahuan melalui email diaktifkan, dua sumber daya lagi akan disebarkan:
Selain itu, AWS CloudFormation menerapkan semua yang diperlukan Identitas AWS dan Manajemen Akses (IAM) peran dan kebijakan, dan Layanan Manajemen Kunci AWS (AWS KMS) kunci untuk memastikan bahwa data yang dipertukarkan dienkripsi.
Terapkan solusinya
Untuk memfasilitasi siklus hidup penerapan, termasuk pengaturan lingkungan lokal pengguna, kami menyediakan Makefile yang menjelaskan semua langkah yang diperlukan. Pastikan kredensial AWS Anda diperbarui dan memiliki akses ke akun Anda. Untuk informasi lebih lanjut, lihat Konfigurasi dan pengaturan file kredensial.
- Jelajahi Makefile dan sesuaikan Wilayah dan nama tumpukan sesuai kebutuhan dengan mengubah nilai variabel
AWS_REGION
danSTACK_NAME
. - set
KILL_SESSION = "True"
jika ingin segera menghentikan sesi interaktif yang ketahuan melampaui batas. Nilai yang diperbolehkan adalah Benar atau Salah; defaultnya adalah Benar. - set
NOTIFICATION_EMAIL_ADDRESS = <your.email@provider.com>
dalamMakefile
jika Anda ingin mendapat pemberitahuan ketika suatu sesi ditemukan di luar batas. - Tetapkan nilai untuk kontrol Anda:
ENFORCE_VPC_CONNECTION
untuk menghentikan sesi yang tidak berjalan di dalam VPC (benar atau salah).MAX_WORKERS
untuk mengatur jumlah maksimum pekerja untuk satu sesi (numerik).MAX_IDLE_TIMEOUT_MINUTES
untuk menentukan waktu idle maksimum untuk sesi dalam hitungan menit (numerik).
- Instal semua perpustakaan prasyarat:
Ini akan diinstal di bawah lingkungan virtual Python yang baru dibuat di dalam repositori ini di direktori
.venv
. - Terapkan tumpukan baru:
Perintah ini akan menyelesaikan tugas-tugas berikut:
- Periksa apakah prasyarat terpenuhi.
- Melakukan
pytest unittest
pada file Python. - Validasi templat CloudFormation.
- Bangun artefak (fungsi Lambda dan lapisan Lambda).
- Terapkan sumber daya melalui AWS SAM.
Uji solusinya
Lihat Memperkenalkan sesi interaktif AWS Glue untuk Jupyter untuk informasi tentang menjalankan sesi interaktif. Jika Anda mengikuti petunjuk di postingan (lihat bagian Jalankan sel kode pertama Anda dan buat notebook AWS Glue Anda), inisialisasi sesi interaktif akan gagal dengan kesalahan serupa berikut ini.
Contoh kode di dalam sel:
Keluaran yang diterima:
Jika Anda mengaktifkan fitur email, Anda juga akan mendapatkan notifikasi email.
Anda juga dapat memeriksa konsol AWS Glue bahwa ID sesi Anda tidak tercantum.
Membersihkan
Bersihkan sumber daya yang disebarkan dengan menjalankan perintah berikut:
Perhatikan bahwa sumber daya disebarkan dari mengikuti postingan yang direkomendasikan, Memperkenalkan sesi interaktif AWS Glue untuk Jupyter, tidak akan dihapus dengan perintah sebelumnya.
keterbatasan
Jaminan pengiriman acara CloudTrail ke EventBridge adalah upaya terbaik. Ini berarti CloudTrail akan mencoba mengirimkan semua peristiwa ke EventBridge, namun dalam beberapa kasus yang jarang terjadi, suatu peristiwa mungkin tidak dikirimkan. Untuk informasi lebih lanjut, lihat Acara dari layanan AWS.
Kesimpulan
Posting ini menjelaskan cara membangun, men-deploy, dan menguji solusi untuk menerapkan kondisi batas pada sesi interaktif AWS Glue untuk menerapkan batasan pada jumlah pekerja, waktu tunggu idle, dan koneksi AWS Glue.
Anda dapat menyesuaikan solusi ini berdasarkan kebutuhan Anda dan memperluasnya lebih lanjut untuk memungkinkan kontrol pada opsi lain.
Untuk mempelajari lebih lanjut tentang cara menggunakan sesi interaktif AWS Glue, lihat Memperkenalkan sesi interaktif AWS Glue untuk Jupyter dan Penulis pekerjaan AWS Glue dengan PyCharm menggunakan sesi interaktif AWS Glue.
Tentang Penulis
Nicolas Jacob Baer adalah Arsitek Aplikasi Cloud Senior dengan fokus kuat pada rekayasa data dan pembelajaran mesin, yang berbasis di Swiss. Dia bekerja sama dengan pelanggan perusahaan untuk merancang platform data dan membangun kasus penggunaan analitik/ml tingkat lanjut.
Luca Mazzaferro adalah Arsitek DevOps Senior di Amazon Web Services. Dia menyukai infrastruktur yang otomatis, dapat direproduksi, dan aman. Di waktu luangnya dia suka memasak, terutama pizza.
Kemeng Zhang adalah Arsitek Aplikasi Cloud dengan fokus kuat pada pembelajaran mesin dan UX, yang berbasis di Swiss. Dia bekerja sama dengan pelanggan untuk merancang pengalaman pengguna dan membangun kasus penggunaan analisis/ml tingkat lanjut.
Tandai Walser, Arsitek Data Global Senior di Amazon Web Services, berkolaborasi dengan pelanggan untuk mengembangkan solusi Big Data inovatif yang memecahkan masalah bisnis dan mempercepat penerapan layanan AWS. Di luar pekerjaan, ia menemukan kesenangan dalam berlari, berenang, dan segala hal yang berhubungan dengan teknologi.
Gal Heyne adalah Manajer Produk untuk AWS Glue dengan fokus kuat pada AI/ML, rekayasa data, dan BI, yang berbasis di California. Dia bersemangat mengembangkan pemahaman mendalam tentang kebutuhan bisnis pelanggan dan berkolaborasi dengan para insinyur untuk merancang produk data yang mudah digunakan.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Otomotif / EV, Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- BlockOffset. Modernisasi Kepemilikan Offset Lingkungan. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/big-data/enforce-boundaries-on-aws-glue-interactive-sessions/
- :memiliki
- :adalah
- :bukan
- $NAIK
- 1
- 10
- 100
- 7
- a
- Tentang Kami
- mengakses
- Akun
- Tindakan
- menyesuaikan
- Tambahan
- alamat
- Adopsi
- maju
- AI / ML
- alarm
- Semua
- mengizinkan
- diizinkan
- memungkinkan
- juga
- Amazon
- Amazon Web Services
- an
- analisis
- dan
- Apa pun
- Aplikasi
- Mendaftar
- Menerapkan
- arsitektur
- ADALAH
- argumen
- AS
- At
- penulis
- Otomatis
- tersedia
- AWS
- Formasi AWS Cloud
- Lem AWS
- berdasarkan
- BE
- menjadi
- sebelum
- TERBAIK
- Besar
- Big data
- Blog
- kedua
- batas-batas
- membangun
- dibangun di
- bisnis
- tapi
- by
- california
- panggilan
- CAN
- yang
- kasus
- kasus
- sel
- perubahan
- berubah
- memeriksa
- Cek
- rapat
- awan
- Kelompok
- kode
- berkolaborasi
- lengkap
- komponen
- menghitung
- Kondisi
- konfigurasi
- koneksi
- konsul
- kendala
- konteks
- kontrol
- kontrol
- Biaya
- membuat
- dibuat
- menciptakan
- MANDAT
- Surat kepercayaan
- Sekarang
- adat
- pelanggan
- data
- insinyur data
- Persiapan data
- mendalam
- Default
- didefinisikan
- menyampaikan
- disampaikan
- pengiriman
- Tergantung
- menyebarkan
- dikerahkan
- penggelaran
- penyebaran
- menyebarkan
- dijelaskan
- Mendesain
- mengembangkan
- berkembang
- Pengembangan
- DevOps
- Mudah
- usaha
- antara
- diaktifkan
- memungkinkan
- terenkripsi
- berakhir
- melaksanakan
- Menegakkan
- insinyur
- Teknik
- Insinyur
- memastikan
- Enterprise
- pelanggan perusahaan
- Lingkungan Hidup
- lingkungan
- kesalahan
- terutama
- Eter (ETH)
- Acara
- peristiwa
- contoh
- pengecualian
- dipertukarkan
- Pengalaman
- eksperimen
- memperpanjang
- memudahkan
- GAGAL
- gagal
- Kegagalan
- palsu
- Fitur
- File
- File
- filter
- menemukan
- Pertama
- keluwesan
- Fokus
- mengikuti
- berikut
- berikut
- Untuk
- ditemukan
- Gratis
- dari
- fungsi
- lebih lanjut
- Selanjutnya
- GAL
- mendapatkan
- Aksi
- menjamin
- Memiliki
- he
- -nya
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTML
- http
- HTTPS
- IAM
- ID
- mengenali
- identitas
- Siaga
- if
- segera
- mengimpor
- in
- Termasuk
- informasi
- Infrastruktur
- dimulai
- inovatif
- dalam
- instruksi
- interaktif
- ke
- memanggil
- terpencil
- IT
- NYA
- Pekerjaan
- Jobs
- jpg
- Notebook Jupyter
- kunci
- lebih besar
- lapisan
- BELAJAR
- pengetahuan
- perpustakaan
- Perpustakaan
- siklus hidup
- 'like
- Terbatas
- batas
- Daftar
- lokal
- lokal
- terletak
- login
- mesin
- Mesin belajar
- membuat
- pengelolaan
- manajer
- mengelola
- banyak
- maksimum
- Mungkin..
- cara
- mekanisme
- Pelajari
- pesan
- pesan
- bertemu
- mungkin
- menit
- dipantau
- pemantauan
- lebih
- nama
- perlu
- Perlu
- dibutuhkan
- kebutuhan
- New
- baru saja
- tidak
- buku catatan
- pemberitahuan
- jumlah
- terjadi
- of
- on
- hanya
- operasi
- pilihan
- Opsi
- or
- urutan
- Lainnya
- di luar
- keluaran
- di luar
- paket
- bergairah
- untuk
- Pizza
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- kesenangan
- Kebijakan
- Pos
- persiapan
- prasyarat
- menyajikan
- sebelumnya
- masalah
- proses
- menghasilkan
- Produk
- manajer produk
- Produk
- properties
- diusulkan
- memberikan
- disediakan
- menyediakan
- ketentuan
- Ular sanca
- LANGKA
- siap
- alasan
- direkomendasikan
- catatan
- wilayah
- terkait
- relevan
- Dihapus
- diperbaharui
- gudang
- Sumber
- peran
- Aturan
- Run
- berjalan
- berjalan
- Universitas
- Bagian
- Dijamin
- melihat
- mengirimkan
- senior
- mengirim
- Tanpa Server
- Layanan
- Sidang
- sesi
- set
- penyiapan
- dia
- harus
- mirip
- Sederhana
- larutan
- Solusi
- MEMECAHKAN
- beberapa
- Segera
- percikan
- tertentu
- kecepatan
- tumpukan
- awal
- mulai
- Pernyataan
- Status
- Tangga
- berhenti
- terhenti
- kuat
- yakin
- renang
- Swiss
- Mengambil
- pengambilan
- tugas
- Teknologi
- Template
- uji
- bahwa
- Grafik
- mereka
- Sana.
- karena itu
- Ini
- hal
- ini
- itu
- tiga
- Melalui
- waktu
- untuk
- terlalu
- tema
- lalu lintas
- transformasi
- memicu
- dipicu
- benar
- dua
- mengetik
- bawah
- pokok
- pemahaman
- us
- penggunaan
- menggunakan
- kasus penggunaan
- Pengguna
- Pengguna
- menggunakan
- ux
- MENGESAHKAN
- Nilai - Nilai
- melalui
- maya
- menunggu
- Menunggu
- walkthrough
- ingin
- adalah
- we
- jaringan
- layanan web
- ketika
- kapan saja
- yang
- sementara
- akan
- dengan
- dalam
- Kerja
- pekerja
- pekerja
- alur kerja
- bekerja
- namun
- kamu
- Anda
- zephyrnet.dll