Mengkonfigurasi properti pekerjaan untuk pekerjaan Spark di AWS Glue - AWS Glue

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

Mengkonfigurasi properti pekerjaan untuk pekerjaan Spark di AWS Glue

Sebuah tugas AWS Glue merangkum skrip yang terhubung ke sumber data Anda, memprosesnya, dan kemudian menuliskannya ke target data Anda. Biasanya, sebuah tugas menjalankan skrip extract, transform, and load (ETL). Tugas juga dapat menjalankan skrip Python tujuan umum (tugas shell Python.) pemicu AWS Glue dapat memulai tugas berdasarkan jadwal atau peristiwa, atau sesuai permintaan. Anda dapat memantau eksekusi tugas untuk memahami metrik waktu aktif seperti status penyelesaian, durasi, dan waktu mulai.

Anda dapat menggunakan skrip yang dihasilkan AWS Glue atau Anda dapat memberikan milik Anda sendiri. Dengan skema sumber dan lokasi target atau skema, pembuat AWS Glue kode dapat secara otomatis membuat skrip Apache Spark API (). PySpark Anda dapat menggunakan skrip ini sebagai titik awal dan mengedit skrip tersebut untuk memenuhi tujuan Anda.

AWS Glue dapat menulis file output dalam beberapa format data, termasuk JSON, CSV, ORC (Optimized Row Columnar), Apache Parquet, dan Apache Avro. Untuk beberapa format data, format-format kompresi umum dapat ditulis.

Ada tiga jenis tugas di AWS Glue: Spark, Streaming ETL, dan Python shell.

  • Pekerjaan Spark dijalankan di lingkungan Apache Spark yang dikelola oleh. AWS Glue Tugas ini memproses data dalam batch.

  • Sebuah tugas ETL streaming mirip dengan tugas Spark, kecuali bahwa ia melakukan ETL pada aliran data. Menggunakan kerangka kerja Apache Spark Structured Streaming. Beberapa fitur tugas Spark tidak tersedia untuk streaming tugas ETL.

  • Sebuah tugas shell Python menjalankan skrip Python sebagai shell dan mendukung versi Python yang bergantung pada versi AWS Glue yang Anda gunakan. Anda dapat menggunakan tugas ini untuk menjadwalkan dan menjalankan tugas-tugas yang tidak memerlukan lingkungan Apache Spark.

Mendefinisikan properti pekerjaan untuk pekerjaan Spark

Bila Anda menentukan tugas Anda di konsol AWS Glue, Anda memberikan nilai untuk properti untuk mengontrol lingkungan waktu aktif AWS Glue.

Daftar berikut menjelaskan properti-properti tugas Spark. Untuk properti dari tugas shell Python, lihat Mendefinisikan properti pekerjaan untuk pekerjaan shell Python. Untuk properti dari tugas ETL streaming, lihat Mendefinisikan properti pekerjaan untuk pekerjaan ETL streaming.

Properti tercantum dalam urutan tampilannya di tab Tambahkan tugas pada konsol AWS Glue.

Nama

Berikan string UTF-8 dengan panjang maksimum 255 karakter.

Deskripsi

Berikan deskripsi opsional hingga 2048 karakter.

IAM Role

Tentukan IAM role yang digunakan untuk otorisasi ke sumber daya yang digunakan untuk menjalankan tugas dan mengakses penyimpanan data. Untuk informasi selengkapnya tentang izin menjalankan tugas di AWS Glue, lihat Manajemen identitas dan akses untuk AWS Glue.

Jenis

Jenis pekerjaan ETL. Ini diatur secara otomatis berdasarkan jenis sumber data yang Anda pilih.

Versi AWS Glue

Versi AWS Glue menentukan versi Apache Spark dan Python yang tersedia untuk tugas, seperti yang ditentukan dalam tabel berikut.

Versi AWS Glue Versi Spark dan Python yang didukung
4.0
  • Spark 3.3.0

  • Python 3.10

3.0
  • Spark 3.1.1

  • Python 3.7

2.0
  • Spark versi 2.4.3

  • Python 3.7

1.0
  • Spark versi 2.4.3

  • Python 2.7

  • Python 3.6

0,9
  • Spark versi 2.2.1

  • Python 2.7

Jenis pekerja

Jenis-jenis pekerja berikut tersedia:

Sumber daya yang tersedia pada AWS Glue pekerja diukur dalam DPU. DPU adalah ukuran relatif daya pemrosesan yang terdiri dari 4 vCPU kapasitas komputasi dan 16 GB memori.

  • G.1X — Ketika Anda memilih jenis ini, maka Anda juga memberikan nilai untuk Jumlah pekerja. Setiap pekerja memetakan ke 1 DPU (4 vCPU, memori 16 GB) dengan disk 84GB (sekitar 34GB gratis). Kami merekomendasikan jenis pekerja ini untuk beban kerja seperti transformasi data, gabungan, dan kueri, untuk menawarkan cara yang skalabel dan hemat biaya untuk menjalankan sebagian besar pekerjaan.

  • G.2X — Ketika Anda memilih jenis ini, maka Anda juga memberikan nilai untuk Jumlah pekerja. Setiap pekerja memetakan ke 2 DPU (8 vCPU, memori 32 GB) dengan disk 128GB (sekitar 77GB gratis). Kami merekomendasikan jenis pekerja ini untuk beban kerja seperti transformasi data, gabungan, dan kueri, untuk menawarkan cara yang skalabel dan hemat biaya untuk menjalankan sebagian besar pekerjaan.

  • G.4X — Ketika Anda memilih jenis ini, maka Anda juga memberikan nilai untuk Jumlah pekerja. Setiap pekerja memetakan ke 4 DPU (16 vCPU, memori 64 GB) dengan disk 256GB (sekitar 235GB gratis). Kami merekomendasikan jenis pekerja ini untuk pekerjaan yang beban kerjanya berisi transformasi, agregasi, gabungan, dan kueri Anda yang paling menuntut. Jenis pekerja ini hanya tersedia untuk pekerjaan Spark ETL AWS Glue versi 3.0 atau yang lebih baru di AWS Wilayah berikut: AS Timur (Ohio), AS Timur (Virginia N.), AS Barat (Oregon), Asia Pasifik (Singapura), Asia Pasifik (Sydney), Asia Pasifik (Tokyo), Kanada (Tengah), Eropa (Frankfurt), Eropa (Irlandia), dan Eropa (Stockholm).

  • G.8X — Ketika Anda memilih jenis ini, maka Anda juga memberikan nilai untuk Jumlah pekerja. Setiap pekerja memetakan ke 8 DPU (32 vCPU, memori 128 GB) dengan disk 512GB (sekitar 487GB gratis). Kami merekomendasikan jenis pekerja ini untuk pekerjaan yang beban kerjanya berisi transformasi, agregasi, gabungan, dan kueri Anda yang paling menuntut. Jenis pekerja ini hanya tersedia untuk pekerjaan Spark ETL AWS Glue versi 3.0 atau yang lebih baru, di AWS Wilayah yang sama seperti yang didukung untuk tipe G.4X pekerja.

  • G.025X — Ketika Anda memilih jenis ini, maka Anda juga memberikan nilai untuk Jumlah pekerja. Setiap pekerja memetakan ke 0, 25 DPU (2 vCPU, memori 4 GB) dengan disk 84GB (sekitar 34GB gratis). Kami merekomendasikan jenis pekerja ini untuk pekerjaan streaming volume rendah. Jenis pekerja ini hanya tersedia untuk pekerjaan streaming AWS Glue versi 3.0.

Anda akan dikenakan tarif per jam berdasarkan jumlah DPU yang digunakan untuk menjalankan tugas ETL Anda. Untuk informasi lebih lanjut, lihat halaman harga AWS Glue.

Untuk tugas AWS Glue versi 1.0 atau tugas sebelumnya, ketika Anda mengkonfigurasi tugas dengan menggunakan konsol dan menentukan Jenis pekerja dengan jenis Standard, maka Kapasitas maksimal diatur dan Jumlah pekerja menjadi nilai Kapasitas maksimal - 1. Jika Anda menggunakan AWS Command Line Interface (AWS CLI) atau AWS SDK, Anda dapat menentukan parameter Kapasitas maks, atau Anda dapat menentukan jenis Pekerja dan Jumlah pekerja.

Untuk AWS Glue versi 2.0 atau pekerjaan yang lebih baru, Anda tidak dapat menentukan Kapasitas maksimum. Sebaliknya, Anda harus menentukan Jenis pekerja dan Jumlah pekerja.

Bahasa

Kode dalam skrip ETL mendefinisikan logika tugas Anda. Skrip dapat dikodekan dengan Python atau Scala. Anda dapat memilih apakah skrip yang dijalankan tugas dihasilkan oleh AWS Glue atau disediakan oleh Anda. Anda menyediakan nama skrip dan lokasi di Amazon Simple Storage Service (Amazon S3). Konfirmasi bahwa tidak ada file dengan nama yang sama sebagai direktori skrip pada path. Untuk mem-pelajari selengkapnya tentang menulis skrip, lihat AWS Glue panduan pemrograman.

Jumlah pekerja yang diminta

Untuk sebagian besar jenis pekerja, Anda harus menentukan jumlah pekerja yang dialokasikan saat pekerjaan berjalan.

Bookmark Tugas

Tentukan cara AWS Glue memproses informasi status saat tugas berjalan. Anda dapat membuatnya mengingat data yang diproses sebelumnya, memperbarui informasi status, atau mengabaikan informasi status. Untuk informasi selengkapnya, lihat Melacak data yang diproses menggunakan bookmark pekerjaan.

Eksekusi fleksibel

Saat mengonfigurasi pekerjaan menggunakan AWS Studio atau API, Anda dapat menentukan kelas eksekusi pekerjaan standar atau fleksibel. Pekerjaan Anda mungkin memiliki berbagai tingkat prioritas dan sensitivitas waktu. Kelas eksekusi standar sangat ideal untuk beban kerja yang sensitif terhadap waktu yang membutuhkan startup pekerjaan cepat dan sumber daya khusus.

Kelas eksekusi fleksibel cocok untuk pekerjaan yang tidak mendesak seperti pekerjaan pra-produksi, pengujian, dan pemuatan data satu kali. Jalankan pekerjaan yang fleksibel didukung untuk pekerjaan yang menggunakan AWS Glue versi 3.0 atau yang lebih baru dan G.1X atau jenis G.2X pekerja.

Flex job run ditagih berdasarkan jumlah pekerja yang berjalan kapan saja. Jumlah pekerja dapat ditambahkan atau dihapus untuk menjalankan pekerjaan yang fleksibel. Alih-alih menagih sebagai perhitungan Max Capacity sederhana*Execution Time, setiap pekerja akan berkontribusi untuk waktu yang dijalankan selama pekerjaan dijalankan. Tagihan adalah jumlah dari (Number of DPUs per worker*time each worker ran).

Untuk informasi selengkapnya, lihat panel bantuan di AWS Studio, atau Tugas danTugas berjalan.

Jumlah percobaan

Tentukan jumlah percobaan, dari 0 sampai 10, yang membuat AWS Glue secara otomatis me-restart tugas jika gagal. Tugas yang mencapai batas habis waktu tidak dimulai ulang.

Tugas habis waktu

Atur waktu eksekusi maksimal dalam satuan menit. Default-nya adalah 2880 menit (48 jam) untuk tugas batch. Ketika waktu eksekusi tugas melebihi batas ini, maka status eksekusi tugas berubah menjadi TIMEOUT.

Untuk tugas streaming yang berjalan tanpa batas waktu, biarkan nilai-nya tetap kosong, yang merupakan nilai default untuk tugas streaming.

Praktik terbaik untuk batas waktu kerja

Pekerjaan ditagih berdasarkan waktu eksekusi. Untuk menghindari tagihan yang tidak terduga, konfigurasikan nilai batas waktu yang sesuai untuk waktu eksekusi yang diharapkan dari pekerjaan Anda.

Properti Lanjutan
Nama berkas skrip

Nama skrip unik untuk pekerjaan Anda. Tidak dapat diberi nama Pekerjaan Tanpa Judul.

Jalur skrip

Lokasi skrip Amazon S3. Jalannya harus dalam bentuks3://bucket/prefix/path/. Itu harus diakhiri dengan garis miring (/) dan tidak menyertakan file apa pun.

Metrik Tugas

Aktifkan atau matikan pembuatan CloudWatch metrik Amazon saat pekerjaan ini berjalan. Untuk melihat data pemrofilan, Anda harus mengaktifkan opsi ini. Untuk informasi selengkapnya tentang cara mengaktifkan dan memvisualisasikan metrik, lihat Pemantauan dan debugging Job.

Metrik observabilitas pekerjaan

Aktifkan pembuatan CloudWatch metrik observabilitas tambahan saat pekerjaan ini berjalan. Untuk informasi selengkapnya, lihat Pemantauan dengan metrik AWS Glue Observabilitas.

Pencatatan log berkelanjutan

Aktifkan pencatatan terus menerus ke Amazon CloudWatch. Jika opsi ini tidak diaktifkan, maka log hanya tersedia setelah tugas selesai saja. Untuk informasi selengkapnya, lihat Pencatatan terus menerus untuk AWS Glue pekerjaan.

Spark UI

Hidupkan penggunaan Spark UI untuk memantau tugas ini. Untuk informasi selengkapnya, lihat Mengaktifkan UI web Apache Spark untuk pekerjaan AWS Glue.

Jalur log UI Spark

Jalur untuk menulis log saat Spark UI diaktifkan.

Konfigurasi logging dan pemantauan Spark UI

Pilih salah satu opsi berikut:

  • Standar: tulis log menggunakan ID AWS Glue job run sebagai nama file. Aktifkan pemantauan UI Spark di AWS Glue konsol.

  • Legacy: tulis log menggunakan 'spark-application- {timestamp} 'sebagai nama file. Jangan nyalakan pemantauan UI Spark.

  • Standar dan warisan: tulis log ke lokasi standar dan lama. Aktifkan pemantauan UI Spark di AWS Glue konsol.

Konkurensi maksimum

Mengatur jumlah maksimal eksekusi bersamaan yang diperbolehkan untuk tugas ini. Default-nya adalah 1. Kesalahan dikembalikan ketika ambang batas ini tercapai. Nilai maksimal yang dapat Anda tentukan dikendalikan oleh kuota layanan. Sebagai contoh, jika eksekusi tugas sebelumnya masih berjalan ketika sebuah instans baru dimulai, maka Anda mungkin ingin mengembalikan kesalahan untuk mencegah dua instans dari tugas yang sama agar tidak berjalan secara bersamaan.

Jalur sementara

Menyediakan lokasi sebuah direktori kerja di Amazon S3 di mana hasil menengah sementara ditulis ketika AWS Glue menjalankan skrip. Konfirmasi bahwa tidak ada file dengan nama yang sama sebagai direktori sementara pada path. Direktori ini digunakan saat AWS Glue membaca dan menulis ke Amazon Redshift dan dengan transformasi AWS Glue tertentu.

catatan

AWS Glue membuat sebuah bucket sementara untuk tugas jika sebuah bucket belum ada di suatu wilayah. Bucket ini mungkin mengizinkan akses publik. Anda dapat memodifikasi bucket di Amazon S3 untuk mengatur blok akses publik, atau menghapus bucket nanti setelah semua tugas di wilayah tersebut telah selesai.

Ambang batas pemberitahuan tunda (menit)

Menetapkan ambang batas (dalam menit) sebelum sebuah notifikasi penundaan dikirim. Anda dapat mengatur ambang batas ini untuk mengirim notifikasi ketika eksekusi tugas RUNNING, STARTING, atau STOPPING memerlukan waktu lebih dari jumlah menit yang diharapkan.

Konfigurasi keamanan

Pilih sebuah konfigurasi keamanan dari daftar. Sebuah konfigurasi keamanan menentukan bagaimana data pada target Amazon S3 dienkripsi: tidak ada enkripsi, enkripsi sisi server dengan kunci terkelola AWS KMS(SSE-KMS), atau kunci enkripsi yang dikelola Amazon S3 (SSE-S3).

Enkripsi sisi server

Jika Anda memilih opsi ini, maka ketika tugas ETL menulis ke Amazon S3, data dienkripsi secara at rest dengan menggunakan enkripsi SSE-S3. Baik target data Amazon S3 Anda dan data yang ditulis ke direktori sementara Amazon S3 , keduanya dienkripsi. Opsi ini diberikan sebagai parameter tugas. Untuk informasi selengkapnya, lihat Melindungi Data Menggunakan Enkripsi Sisi Server dengan Kunci Enkripsi Terkelola Amazon S3 (SSE-S3) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

penting

Opsi ini diabaikan jika sebuah konfigurasi keamanan ditentukan.

Gunakan katalog data Glue sebagai metastore Hive

Pilih untuk menggunakan Katalog Data AWS Glue sebagai metastore Hive. IAM role yang digunakan untuk tugas harus memiliki izin glue:CreateDatabase. Sebuah basis data dengan nama “default” dibuat dalam Katalog Data jika tidak ada.

Koneksi

Pilih konfigurasi VPC untuk mengakses sumber data Amazon S3 yang terletak di cloud pribadi virtual (VPC) Anda. Anda dapat membuat dan mengelola koneksi Jaringan di AWS Glue. Untuk informasi selengkapnya, lihat Menghubungkan ke data.

Perpustakaan
Jalur pustaka Python, jalur JAR Dependen, dan jalur file yang direferensikan

Tentukan opsi ini jika skrip Anda memerlukannya. Anda dapat menentukan path Amazon S3 yang dipisahkan koma untuk pilihan ini ketika Anda menentukan tugas. Anda dapat mengganti path ini ketika Anda menjalankan tugas. Untuk informasi selengkapnya, lihat Menyediakan skrip kustom Anda sendiri.

Parameter Tugas

Satu set pasangan nilai-kunci yang diberikan sebagai parameter bernama untuk skrip. Ini adalah nilai default yang digunakan ketika skrip dijalankan, tetapi Anda dapat menimpanya di pemicu atau ketika Anda menjalankan tugas. Anda harus memberikan prefiks pada nama kunci dengan --; misalnya: --myKey. Anda meneruskan parameter pekerjaan sebagai peta saat menggunakan AWS Command Line Interface.

Sebagai contoh, lihat parameter Python di Melewati dan mengakses parameter Python di AWS Glue.

Tanda

Tandai tugas Anda dengan Kunci tag dan opsional Nilai tag. Setelah kunci tag dibuat, mereka hanya bisa dibaca. Gunakan tag ke sumber daya Anda untuk membantu mengatur dan mengidentifikasi sumber daya tersebut. Untuk informasi selengkapnya, lihat AWS tag di AWS Glue.

Pembatasan untuk pekerjaan yang mengakses tabel terkelola Lake Formation

Ingatlah catatan dan batasan berikut saat membuat pekerjaan yang membaca dari atau menulis ke tabel yang dikelola oleh AWS Lake Formation: