AWS Glueparameter pekerjaan - AWS Glue

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

AWS Glueparameter pekerjaan

Saat membuat pekerjaan AWS Glue, Anda menetapkan beberapa bidang standar, seperti Role danWorkerType. Anda dapat memberikan informasi konfigurasi tambahan melalui Argument bidang (Parameter Pekerjaan di konsol). Di bidang ini, Anda dapat memberikan pekerjaan AWS Glue dengan argumen (parameter) yang tercantum dalam topik ini. Untuk informasi selengkapnya tentang AWS Glue Job API, lihatTugas.

Mengatur parameter pekerjaan

Anda dapat mengonfigurasi pekerjaan melalui konsol di tab Detail pekerjaan, di bawah judul Parameter Pekerjaan. Anda juga dapat mengonfigurasi pekerjaan AWS CLI melalui pengaturan DefaultArguments atau NonOverridableArguments pekerjaan, atau pengaturan Arguments pada pekerjaan. Argumen yang ditetapkan pada pekerjaan akan diteruskan setiap kali pekerjaan dijalankan, sedangkan argumen yang ditetapkan pada job run hanya akan diteruskan untuk menjalankan individu tersebut.

Misalnya, berikut ini adalah sintaks untuk menjalankan pekerjaan menggunakan --arguments untuk menetapkan parameter pekerjaan.

$ aws glue start-job-run --job-name "CSV to CSV" --arguments='--scriptLocation="s3://my_glue/libraries/test_lib.py"'

Mengakses parameter pekerjaan

Saat menulis skrip AWS Glue, Anda mungkin ingin mengakses nilai parameter pekerjaan untuk mengubah perilaku kode Anda sendiri. Kami menyediakan metode pembantu untuk melakukannya di perpustakaan kami. Metode ini menyelesaikan nilai parameter job run yang mengesampingkan nilai parameter pekerjaan. Saat menyelesaikan parameter yang ditetapkan di beberapa tempat, job NonOverridableArguments akan menggantikan job runArguments, yang akan menggantikan job. DefaultArguments

Dengan Python:

Dalam pekerjaan Python, kami menyediakan fungsi bernama. getResolvedParameters Untuk informasi selengkapnya, lihat Mengakses parameter menggunakan getResolvedOptions. Parameter Job tersedia dalam sys.argv variabel.

Dalam Scala:

Dalam pekerjaan Scala, kami menyediakan objek bernamaGlueArgParser. Untuk informasi selengkapnya, lihat AWS GlueAPI Scala GlueArgParser. Parameter Job tersedia dalam sysArgs variabel.

Referensi parameter Job

AWS Gluemengenali nama argumen berikut yang dapat Anda gunakan untuk menyiapkan lingkungan skrip untuk pekerjaan dan pekerjaan Anda:

--additional-python-modules

Daftar dibatasi koma yang mewakili satu set paket Python yang akan diinstal. Anda dapat menginstal paket dari PyPI atau menyediakan distribusi khusus. Entri paket PyPI akan dalam formatpackage==version, dengan nama PyPI dan versi paket target Anda. Entri distribusi kustom adalah jalur S3 ke distribusi.

Entri menggunakan pencocokan versi Python untuk mencocokkan paket dan versi. Ini berarti Anda harus menggunakan dua tanda yang sama, seperti==. Ada operator pencocokan versi lain, untuk informasi lebih lanjut lihat PEP 440.

Untuk meneruskan opsi instalasi modul kepip3, gunakan --python-modules-installer-option parameter.

--auto-scale-within-microbatch

Nilai default adalah false. Parameter ini hanya dapat digunakan untuk pekerjaan streaming AWS Glue, yang memproses data streaming dalam serangkaian batch mikro, dan penskalaan otomatis harus diaktifkan. Saat menyetel nilai ini ke false, nilai ini menghitung rata-rata pergerakan eksponensial durasi batch untuk batch mikro yang diselesaikan dan membandingkan nilai ini dengan ukuran jendela untuk menentukan apakah akan meningkatkan atau menurunkan jumlah pelaksana. Penskalaan hanya terjadi ketika batch mikro selesai. Saat menyetel nilai ini ke true, selama batch mikro, nilai ini meningkat ketika jumlah tugas Spark tetap sama selama 30 detik, atau pemrosesan batch saat ini lebih besar dari ukuran jendela. Jumlah eksekutor akan turun jika eksekutor telah menganggur selama lebih dari 60 detik, atau rata-rata pergerakan eksponensial durasi batch rendah.

--class

Kelas Scala yang berfungsi sebagai titik masuk untuk skrip Scala Anda. Ini hanya berlaku jika --job-language Anda diatur ke scala.

--continuous-log-conversionPattern

Menentukan pola log konversi kustom untuk pekerjaan yang diaktifkan untuk logging berkelanjutan. Pola konversi hanya berlaku untuk log driver dan log pelaksana saja. Itu tidak mempengaruhi bilah kemajuan AWS Glue.

--continuous-log-logGroup

Menentukan nama grup CloudWatch log Amazon kustom untuk pekerjaan yang diaktifkan untuk logging berkelanjutan.

--continuous-log-logStreamPrefix

Menentukan awalan aliran CloudWatch log kustom untuk pekerjaan diaktifkan untuk logging berkelanjutan.

--customer-driver-env-vars dan --customer-executor-env-vars

Parameter ini mengatur variabel lingkungan pada sistem operasi masing-masing untuk setiap pekerja (driver atau pelaksana). Anda dapat menggunakan parameter ini saat membangun platform dan kerangka kerja khusus di atas AWS Glue, untuk memungkinkan pengguna Anda menulis pekerjaan di atasnya. Mengaktifkan dua flag ini akan memungkinkan Anda untuk mengatur variabel lingkungan yang berbeda pada driver dan eksekutor masing-masing tanpa harus menyuntikkan logika yang sama dalam skrip pekerjaan itu sendiri.

Contoh penggunaan

Berikut ini adalah contoh penggunaan parameter ini:

"—customer-driver-env-vars", "CUSTOMER_KEY1=VAL1,CUSTOMER_KEY2=\"val2,val2 val2\"", "—customer-executor-env-vars", "CUSTOMER_KEY3=VAL3,KEY4=VAL4"

Menyetel ini dalam argumen job run sama dengan menjalankan perintah berikut:

Di pengemudi:

  • ekspor CUSTOMER_KEY1 = VAL1

  • ekspor customer_key2 = “val2, val2 val2”

Dalam pelaksana:

  • ekspor CUSTOMER_KEY3 = VAL3

Kemudian, dalam skrip pekerjaan itu sendiri, Anda dapat mengambil variabel lingkungan menggunakan os.environ.get("CUSTOMER_KEY1") atauSystem.getenv("CUSTOMER_KEY1").

Sintaks yang ditegakkan

Perhatikan standar berikut saat mendefinisikan variabel lingkungan:

  • Setiap kunci harus memilikiCUSTOMER_ prefix.

    Misalnya: for"CUSTOMER_KEY3=VAL3,KEY4=VAL4", KEY4=VAL4 akan diabaikan dan tidak disetel.

  • Setiap pasangan kunci dan nilai harus digambarkan dengan koma tunggal.

    Misalnya: "CUSTOMER_KEY3=VAL3,CUSTOMER_KEY4=VAL4"

  • Jika “nilai” memiliki spasi atau koma, maka itu harus didefinisikan dalam kutipan.

    Misalnya: CUSTOMER_KEY2=\"val2,val2 val2\"

Sintaks ini secara dekat memodelkan standar pengaturan variabel lingkungan bash.

--datalake-formats

Didukung di AWS Glue 3.0 dan versi yang lebih baru.

Menentukan kerangka data lake untuk digunakan. AWS Glue menambahkan file JAR yang diperlukan untuk kerangka kerja yang Anda tentukan ke dalam. classpath Untuk informasi selengkapnya, lihat Menggunakan kerangka kerja data lake dengan pekerjaan AWS Glue ETL.

Anda dapat menentukan satu atau lebih dari nilai-nilai berikut, dipisahkan dengan koma:

  • hudi

  • delta

  • iceberg

Misalnya, berikan argumen berikut untuk menentukan ketiga kerangka kerja.

'--datalake-formats': 'hudi,delta,iceberg'
--disable-proxy-v2

Nonaktifkan proxy layanan untuk mengizinkan panggilan AWS layanan ke Amazon S3, CloudWatch, dan AWS Glue berasal dari skrip Anda melalui VPC Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi AWS panggilan untuk melalui VPC Anda. Untuk menonaktifkan proxy layanan, atur nilai paramater ini ketrue.

--enable-auto-scaling

Mengaktifkan penskalaan otomatis dan penagihan per pekerja saat Anda menetapkan nilainya. true

--enable-continuous-cloudwatch-log

Mengaktifkan pencatatan berkelanjutan secara real-time untuk AWS Glue pekerjaan. Anda dapat melihat log pekerjaan Apache Spark real-time. CloudWatch

--enable-continuous-log-filter

Menentukan filter standar (true) atau tidak ada filter (false) saat Anda membuat atau mengedit pekerjaan diaktifkan untuk logging berkelanjutan. Memilih opsi filter standar akan membuang driver/pelaksana Apache Spark dan pesan log heartbeat Apache Hadoop YARN yang tidak berguna. Memilih tanpa filter akan memberikan semua pesan log.

--enable-glue-datacatalog

Memungkinkan Anda menggunakan Katalog Data AWS Glue sebagai metastore Apache Spark Hive. Untuk mengaktifkan fitur ini, atur nilainya ketrue.

--enable-job-insights

Mengaktifkan pemantauan analisis kesalahan tambahan dengan wawasan AWS Glue job run. Lihat perinciannya di Pemantauan dengan wawasan menjalankan AWS Glue pekerjaan. Secara default, nilai disetel ke true dan wawasan job run diaktifkan.

Opsi ini tersedia untuk AWS Glue versi 2.0 dan 3.0.

--enable-metrics

Mengaktifkan pengumpulan metrik untuk pembuatan profil pekerjaan untuk menjalankan pekerjaan ini. Metrik ini tersedia di AWS Glue konsol dan CloudWatch konsol Amazon. Nilai parameter ini tidak relevan. Untuk mengaktifkan fitur ini, Anda dapat memberikan parameter ini dengan nilai apa pun, tetapi true disarankan untuk kejelasan. Untuk menonaktifkan fitur ini, hapus parameter ini dari konfigurasi pekerjaan Anda.

--enable-observability-metrics

Mengaktifkan satu set metrik Observability untuk menghasilkan wawasan tentang apa yang terjadi di dalam setiap pekerjaan yang dijalankan di halaman Job Runs Monitoring di bawah AWS Glue konsol dan konsol. Amazon CloudWatch Untuk mengaktifkan fitur ini, atur nilai parameter ini ke true. Untuk menonaktifkan fitur ini, atur ke false atau hapus parameter ini dari konfigurasi pekerjaan Anda.

--enable-rename-algorithm-v2

Menetapkan EMRFS mengubah nama algoritma versi ke versi 2. Ketika tugas Spark menggunakan mode menimpa partisi dinamis, ada kemungkinan bahwa sebuah partisi duplikat yang dibuat. Misalnya, Anda dapat berakhir dengan partisi duplikat seperti s3://bucket/table/location/p1=1/p1=1. Di sini, P1 adalah partisi yang sedang ditimpa. Mengubah nama algoritme versi 2 akan memperbaiki masalah ini.

Opsi ini hanya tersedia di AWS Glue versi 1.0.

--enable-s3-parquet-optimized-committer

Mengaktifkan committer yang dioptimalkan EMRFS S3 untuk menulis data Parket ke Amazon S3. Anda dapat menyediakan pasangan parameter/nilai melalui AWS Glue konsol saat membuat atau memperbarui pekerjaan. AWS Glue Mengatur nilai ke true akan mengaktifkan committer. Secara default, bendera dihidupkan di AWS Glue 3.0 dan dimatikan di AWS Glue 2.0.

Untuk informasi selengkapnya, lihat Menggunakan Committer yang Dioptimalkan-S3 EMRFS.

--enable-spark-ui

Saat disetel ketrue, aktifkan fitur untuk menggunakan Spark UI untuk memantau dan men-debug pekerjaan AWS Glue ETL.

--executor-cores

Jumlah tugas percikan yang dapat berjalan secara paralel. Opsi ini didukung pada AWS Glue 3.0+. Nilai tidak boleh melebihi 2x jumlah vCPU pada tipe pekerja, yaitu 8 on, 16 on, 32 G.1X G.4X on dan G.2X 64 on. G.8X Anda harus berhati-hati saat memperbarui konfigurasi ini karena dapat memengaruhi kinerja pekerjaan karena peningkatan paralelisme tugas menyebabkan memori, tekanan disk, serta dapat menghambat sistem sumber dan target (misalnya: ini akan menyebabkan lebih banyak koneksi bersamaan di Amazon RDS).

--extra-files

Jalur Amazon S3 ke file tambahan, seperti file konfigurasi yang AWS Glue menyalin ke direktori kerja skrip Anda sebelum menjalankannya. Beberapa nilai harus path lengkap yang dipisahkan dengan sebuah koma (,). Hanya mendukung file individu, tidak mendukung path direktori. Opsi ini tidak didukung untuk jenis pekerjaan Python Shell.

--extra-jars

Jalur Amazon S3 ke .jar file Java tambahan yang AWS Glue ditambahkan ke classpath Java sebelum menjalankan skrip Anda. Beberapa nilai harus path lengkap yang dipisahkan dengan sebuah koma (,).

--extra-py-files

Jalur Amazon S3 ke modul Python tambahan yang ditambahkan AWS Glue ke jalur Python sebelum menjalankan skrip Anda. Beberapa nilai harus path lengkap yang dipisahkan dengan sebuah koma (,). Hanya mendukung file individu, tidak mendukung path direktori.

--job-bookmark-option

Mengontrol perilaku bookmark pekerjaan. Nilai opsi berikut dapat diatur.

-‑job‑bookmark‑nilai opsi Deskripsi
job-bookmark-enable Melacak data yang diproses sebelumnya. Ketika sebuah tugas berjalan, memproses data baru sejak pos pemeriksaan terakhir.
job-bookmark-disable Selalu memproses seluruh set data. Anda bertanggung jawab untuk mengelola output dari eksekusi tugas sebelumnya.
job-bookmark-pause Memproses data tambahan sejak eksekusi terakhir yang berhasil atau data dalam kisaran yang diidentifikasi oleh subopsi berikutnya, tanpa memperbarui status bookmark terakhir. Anda bertanggung jawab untuk mengelola output dari eksekusi tugas sebelumnya. Dua subopsi tersebut adalah sebagai berikut:
  • job-bookmark-from <from-value> adalah ID eksekusi yang merepresentasikan semua input yang diproses sampai eksekusi terakhir yang berhasil sebelum dan termasuk ID eksekusi yang ditentukan. Masukan yang sesuai diabaikan.

  • job-bookmark-to <to-value> adalah ID eksekusi yang merepresentasikan semua input yang diproses sampai eksekusi terakhir yang berhasil sebelum dan termasuk ID eksekusi yang ditentukan. Input yang sesuai tidak termasuk input yang diidentifikasi oleh <from-value> diproses oleh tugas. Setiap masukan berikutnya nanti selain dari input ini juga dikecualikan untuk diproses.

Status bookmark tugas tidak diperbarui ketika rangkaian opsi ini ditentukan.

Subopsi adalah opsional. Namun, bila digunakan, kedua subopsi tersebut harus disediakan.

Misalnya, untuk mengaktifkan bookmark tugas, berikan argumen berikut.

'--job-bookmark-option': 'job-bookmark-enable'
--job-language

Bahasa pemrograman skrip. Nilai ini harus berupa scala atau python. Jika parameter ini tidak ada, maka nilai default-nya adalah python.

--python-modules-installer-option

String plaintext yang mendefinisikan opsi yang akan diteruskan pip3 saat menginstal modul dengan. --additional-python-modules Berikan opsi seperti yang Anda lakukan di baris perintah, dipisahkan oleh spasi dan diawali dengan tanda hubung. Untuk informasi lebih lanjut tentang penggunaan, lihatMenginstal modul Python tambahan dengan pip di 2.0+ AWS Glue.

catatan

Opsi ini tidak didukung untuk pekerjaan AWS Glue saat Anda menggunakan Python 3.9.

--scriptLocation

Lokasi Amazon Simple Storage Service (Amazon S3) tempat skrip ETL Anda berada (dalam formulir). s3://path/to/my/script.py Parameter ini menimpa lokasi skrip yang ditetapkan dalam objek JobCommand.

--spark-event-logs-path

Menentukan jalur Amazon S3. Saat menggunakan fitur pemantauan UI Spark, AWS Glue siram log peristiwa Spark ke jalur Amazon S3 ini setiap 30 detik ke bucket yang dapat digunakan sebagai direktori sementara untuk menyimpan peristiwa Spark UI.

--TempDir

Menentukan jalur Amazon S3 ke bucket yang dapat digunakan sebagai direktori sementara untuk pekerjaan itu.

Misalnya, untuk menetapkan sebuah direktori sementara, berikan argumen berikut.

'--TempDir': 's3-path-to-directory'
catatan

AWS Gluemembuat ember sementara untuk pekerjaan jika ember belum ada di Wilayah. Bucket ini mungkin mengizinkan akses publik. Anda dapat memodifikasi bucket di Amazon S3 untuk menyetel blok akses publik, atau menghapus bucket nanti setelah semua pekerjaan di Wilayah tersebut selesai.

--use-postgres-driver

Saat menyetel nilai initrue, ini memprioritaskan driver Postgres JDBC di jalur kelas untuk menghindari konflik dengan driver Amazon Redshift JDBC. Opsi ini hanya tersedia di AWS Glue versi 2.0.

--user-jars-first

Saat menyetel nilai initrue, ini memprioritaskan file JAR tambahan pelanggan di classpath. Opsi ini hanya tersedia di AWS Glue versi 2.0 atau yang lebih baru.

--conf

Mengontrol parameter konfigurasi Spark. Ini untuk kasus penggunaan lanjutan.

--encryption-type

Parameter warisan. Perilaku yang sesuai harus dikonfigurasi menggunakan konfigurasi keamanan. untuk informasi selengkapnya tentang konfigurasi keamanan, lihat. Mengenkripsi data yang ditulis oleh AWS Glue

AWS Gluemenggunakan argumen berikut secara internal dan Anda tidak boleh menggunakannya:

  • --debug— Internal keAWS Glue. Jangan diatur.

  • --mode— Internal keAWS Glue. Jangan diatur.

  • --JOB_NAME— Internal keAWS Glue. Jangan diatur.

  • --endpoint— Internal keAWS Glue. Jangan diatur.

AWS Gluemendukung bootstrap lingkungan dengan site modul Python yang digunakan sitecustomize untuk melakukan penyesuaian khusus situs. Bootstrapping fungsi initilisasi Anda sendiri direkomendasikan untuk kasus penggunaan lanjutan saja dan didukung atas dasar upaya terbaik pada 4.0. AWS Glue

Awalan variabel lingkungan,GLUE_CUSTOMER, dicadangkan untuk penggunaan pelanggan.