Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan parameter pekerjaan di AWS Lowongan kerja Glue
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 menyediakan pekerjaan AWS Glue dengan argumen (parameter) yang tercantum dalam topik ini.
Untuk informasi selengkapnya tentang AWS Glue Job API, lihatLowongan Kerja.
catatan
Argumen pekerjaan memiliki batas ukuran maksimum 260KB. Pemeriksaan validasi akan menimbulkan kesalahan jika ukuran argumen lebih besar dari 260KB.
Mengatur parameter pekerjaan
Anda dapat mengonfigurasi pekerjaan melalui konsol pada tab Detail pekerjaan, di bawah judul Parameter Pekerjaan. Anda juga dapat mengonfigurasi pekerjaan AWS CLI melalui pengaturan DefaultArguments atau NonOverridableArguments pada pekerjaan, atau pengaturan Arguments pada pekerjaan yang dijalankan. Argumen yang disetel pada pekerjaan akan diteruskan setiap kali pekerjaan dijalankan, sementara argumen yang ditetapkan pada job run hanya akan diteruskan untuk proses individual tersebut.
Misalnya, berikut ini adalah sintaks untuk menjalankan pekerjaan menggunakan --arguments untuk mengatur 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 run pekerjaan yang mengganti nilai parameter pekerjaan. Saat menyelesaikan parameter yang disetel di beberapa tempat, pekerjaan NonOverridableArguments akan mengganti job runArguments, yang akan mengganti pekerjaan. DefaultArguments
Dalam Python:
Dalam pekerjaan Python, kami menyediakan fungsi bernamagetResolvedParameters. Untuk informasi selengkapnya, lihat Mengakses parameter menggunakan getResolvedOptions. Parameter pekerjaan tersedia dalam sys.argv variabel.
Di Scala:
Dalam pekerjaan Scala, kami menyediakan objek bernamaGlueArgParser. Untuk informasi selengkapnya, lihat AWS GlueScala GlueArgParser APIs. Parameter pekerjaan tersedia dalam sysArgs variabel.
Referensi parameter pekerjaan
AWS Glue mengenali nama argumen berikut yang dapat Anda gunakan untuk mengatur lingkungan skrip untuk pekerjaan dan pekerjaan yang dijalankan:
--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 format
, dengan nama PyPI dan versi paket target Anda. Entri distribusi kustom adalah jalur S3 ke distribusi.package==versionEntri menggunakan pencocokan versi Python untuk mencocokkan paket dan versi. Ini berarti Anda perlu menggunakan dua tanda sama, seperti
==. Ada operator pencocokan versi lain, untuk informasi lebih lanjut lihat PEP 440. Untuk meneruskan opsi instalasi modul ke
pip3, gunakan --python-modules-installer-option parameter.Untuk menjalankan pekerjaan Anda di lingkungan virtual Python sebagai gantinya, lihat --python-virtual-env dan--python-virtual-env-storage-prefix.
--auto-scale-within-microbatch-
Nilai default-nya adalah betul. 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, ia menghitung rata-rata pergerakan eksponensial dari durasi batch untuk batch mikro yang diselesaikan dan membandingkan nilai ini dengan ukuran jendela untuk menentukan apakah akan menaikkan atau menurunkan jumlah pelaksana. Penskalaan hanya terjadi ketika batch mikro selesai. Saat menyetel nilai ini ke true, selama batch mikro, nilai akan meningkat ketika jumlah tugas Spark tetap sama selama 30 detik, atau pemrosesan batch saat ini lebih besar dari ukuran jendela. Jumlah pelaksana akan turun jika eksekutor telah menganggur selama lebih dari 60 detik, atau rata-rata pergerakan eksponensial dari durasi batch rendah.
--class-
Kelas Scala yang berfungsi sebagai titik masuk untuk skrip Scala Anda. Ini hanya berlaku jika
--job-languageAnda diatur kescala. --continuous-log-conversionPattern-
Menentukan pola log konversi kustom untuk pekerjaan yang diaktifkan untuk pencatatan 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 khusus untuk pekerjaan yang diaktifkan untuk pencatatan berkelanjutan.
--continuous-log-logStreamPrefix-
Menentukan awalan aliran CloudWatch log khusus untuk pekerjaan yang diaktifkan untuk pencatatan berkelanjutan.
--customer-driver-env-varsdan--customer-executor-env-vars-
Parameter ini mengatur variabel lingkungan pada sistem operasi masing-masing untuk setiap pekerja (driver atau eksekutor). 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 kedua 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 setara dengan menjalankan perintah berikut:
Di dalam 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 diberlakukan
Perhatikan standar berikut saat mendefinisikan variabel lingkungan:
Setiap kunci harus memiliki
CUSTOMER_ prefixMisalnya: untuk
"CUSTOMER_KEY3=VAL3,KEY4=VAL4",KEY4=VAL4akan 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 yang akan 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 oleh 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 mengiz AWS inkan panggilan layanan ke Amazon S3, CloudWatch, dan AWS Glue yang 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 ke
true. --enable-auto-scaling-
Mengaktifkan penskalaan otomatis dan penagihan per pekerja saat Anda menyetel nilai ke
true. --enable-continuous-cloudwatch-log-
Memungkinkan pencatatan berkelanjutan real-time untuk pekerjaan AWS Glue. Anda dapat melihat log pekerjaan Apache Spark secara real-time CloudWatch.
--enable-continuous-log-filter-
Menentukan filter standar (
true) atau tidak ada filter (false) saat Anda membuat atau mengedit pekerjaan yang diaktifkan untuk pencatatan berkelanjutan. Memilih filter standar menghapus pesan log detak jantung Apache Spark driver/executor dan 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. Parameter ini adalah tanda berbasis kehadiran — memasukkannya ke dalam konfigurasi pekerjaan Anda memungkinkan fitur tersebut. Jangan berikan nilai dengan parameter ini. Untuk menonaktifkan fitur ini, hapus parameter ini sepenuhnya dari konfigurasi pekerjaan Anda.
--enable-job-insights-
Memungkinkan pemantauan analisis kesalahan tambahan dengan AWS wawasan proses kerja Glue. Lihat perinciannya di Pemantauan dengan AWS Glue wawasan menjalankan pekerjaan. Secara default, nilai disetel ke
truedan wawasan job run diaktifkan.Opsi ini tersedia untuk AWS Glue versi 2.0 dan 3.0.
--enable-lakeformation-fine-grained-access-
Memungkinkan kontrol akses berbutir halus untuk pekerjaan AWS Lem. Untuk informasi selengkapnya, lihat Penggunaan AWS Glue dengan AWS Lake Formation untuk kontrol akses berbutir halus.
--enable-metrics-
Mengaktifkan pengumpulan metrik untuk profil pekerjaan untuk menjalankan pekerjaan ini. Metrik ini tersedia di konsol AWS Glue dan CloudWatch konsol Amazon. Parameter ini adalah tanda berbasis kehadiran — memasukkannya ke dalam konfigurasi pekerjaan Anda memungkinkan fitur tersebut. Jangan berikan nilai dengan parameter ini. Untuk menonaktifkan fitur ini, hapus parameter ini sepenuhnya dari konfigurasi pekerjaan Anda.
--enable-observability-metrics-
Mengaktifkan satu set metrik Pengamatan untuk menghasilkan wawasan tentang apa yang terjadi di dalam setiap pekerjaan yang dijalankan di halaman Pemantauan Job Runs di bawah konsol AWS Glue dan Amazon CloudWatch konsol. Untuk mengaktifkan fitur ini, atur nilai parameter ini ke true. Untuk menonaktifkan fitur ini, atur ke
falseatau hapus parameter ini dari konfigurasi pekerjaan Anda. --enable-rename-algorithm-v2-
Menetapkan versi algoritma ganti nama EMRFS 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 pada AWS Glue versi 1.0.
--enable-s3-parquet-optimized-committer-
Mengaktifkan commit EMRFS S3-optimized untuk menulis data Parquet ke Amazon S3. Anda dapat memasok parameter/value pasangan melalui konsol AWS Glue saat membuat atau memperbarui pekerjaan AWS Glue. Mengatur nilai ke
trueakan mengaktifkan committer. Secara default, bendera dihidupkan di AWS Glue 3.0 dan mati di AWS Glue 2.0.Untuk informasi selengkapnya, lihat Menggunakan Komiter EMRFS S3-optimized .
--enable-spark-ui-
Saat disetel ke
true, mengaktifkan fitur untuk menggunakan Spark UI untuk memantau dan men-debug pekerjaan Glu AWS e 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 aktif, 16 aktif
G.1X, 32 aktifG.2X, 64 aktifG.4X, 96 aktifG.8X, 128 aktifG.12XG.16X, dan 8 aktifR.1X, 16 aktifR.2X, 32 aktifR.4X, 64 aktif.R.8XAnda harus berhati-hati saat memperbarui konfigurasi ini karena dapat memengaruhi kinerja pekerjaan karena peningkatan paralelisme tugas menyebabkan memori, tekanan disk serta dapat membatasi sumber dan sistem target (misalnya: itu akan menyebabkan lebih banyak koneksi bersamaan di Amazon RDS). --extra-files-
Jalur Amazon S3 ke file tambahan, seperti file konfigurasi yang dis AWS alin Glue ke direktori kerja skrip Anda di simpul driver sebelum menjalankannya. Beberapa nilai harus path lengkap yang dipisahkan dengan sebuah koma (
,). Nilainya bisa berupa file individual atau lokasi direktori. Opsi ini tidak didukung untuk jenis pekerjaan Python Shell. --extra-jars-
Jalur Amazon S3 ke file tambahan yang disalin AWS Glue ke driver dan pelaksana. AWS Glue juga menambahkan file-file ini ke classpath Java sebelum menjalankan skrip Anda. Beberapa nilai harus path lengkap yang dipisahkan dengan sebuah koma (
,). Perpanjangan tidak perlu.jar --extra-py-files-
Jalur Amazon S3 ke modul Python tambahan yang AWS ditambahkan Glue ke jalur Python pada node driver 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.
nilai opsi ‑‑job‑bookmark- Deskripsi job-bookmark-enableMelacak data yang diproses sebelumnya. Ketika sebuah tugas berjalan, memproses data baru sejak pos pemeriksaan terakhir. job-bookmark-disableSelalu memproses seluruh set data. Anda bertanggung jawab untuk mengelola output dari eksekusi tugas sebelumnya. job-bookmark-pauseMemproses 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
scalaataupython. Jika parameter ini tidak ada, maka nilai default-nya adalahpython. --python-modules-installer-option-
String plaintext yang mendefinisikan opsi yang akan diteruskan
pip3saat 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 in AWS Lem 2.0 atau yang lebih baru.catatan
Opsi ini tidak didukung untuk pekerjaan AWS Glue saat Anda menggunakan Python 3.9.
--python-virtual-env-
Jalur Amazon S3 ke lingkungan virtual Python paket tempat pekerjaan Anda berjalan, dalam formulir
s3://. Anda membangun dan mengunggah lingkungan virtual sebelum pekerjaan berjalan.path/pyspark_venv.tar.gzLingkungan virtual menggantikan lingkungan Python dari pekerjaan sepenuhnya, sehingga harus berisi setiap paket yang dibutuhkan pekerjaan Anda, termasuk paket yang disediakan wadah AWS Glue. Jangan gunakan parameter ini bersamaan dengan--additional-python-modules.
Parameter ini didukung di AWS Glue 5.0 dan yang lebih baru. Untuk informasi selengkapnya, lihat Menggunakan lingkungan virtual Python dengan AWS Lem.
--python-virtual-env-storage-prefix-
Awalan Amazon S3 tempat AWS Glue menyimpan lingkungan virtual yang dibuat untuk Anda, dalam formulir
s3://. AWS Glue membangun lingkungan virtual dari paket --additional-python-modules pada pekerjaan pertama yang dijalankan, menyimpannya di awalan ini, dan menggunakannya kembali saat dijalankan nanti.path/Parameter ini didukung di AWS Glue 6.0 dan yang lebih baru. Untuk informasi selengkapnya, lihat Menggunakan lingkungan virtual yang dihasilkan layanan dengan caching Amazon S3.
--python-virtual-env-version-
Nilai yang Anda tambahkan untuk membatalkan cache lingkungan virtual yang --python-virtual-env-storage-prefix dikelola. Nilai default-nya adalah
0.Parameter ini didukung di AWS Glue 6.0 dan yang lebih baru.
--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 objekJobCommand. --spark-event-logs-path-
Menentukan jalur Amazon S3. Saat menggunakan fitur pemantauan Spark UI, Glue AWS melakukan mem-flushing peristiwa Spark log ke Path Amazon S3 ini setiap 30 detik ke sebuah 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.
Misalnya, untuk menetapkan sebuah direktori sementara, berikan argumen berikut.
'--TempDir': 's3-path-to-directory'catatan
AWS Lem menciptakan 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 ini ke
true, ia 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 ini ke
true, itu 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 Glue menggunakan argumen berikut secara internal dan Anda tidak boleh menggunakannya:
-
--debug- Internal ke AWS Lem. Jangan diatur. -
--mode- Internal ke AWS Lem. Jangan diatur. -
--JOB_NAME- Internal ke AWS Lem. Jangan diatur. -
--endpoint- Internal ke AWS Lem. Jangan diatur.
AWS Glue mendukung bootstrap lingkungan dengan site modul Python yang digunakan sitecustomize untuk melakukan penyesuaian khusus situs. Bootstrap fungsi inisialisasi Anda sendiri direkomendasikan untuk kasus penggunaan lanjutan saja dan didukung berdasarkan upaya terbaik pada Glue 4.0. AWS
Awalan variabel lingkungan,GLUE_CUSTOMER, dicadangkan untuk penggunaan pelanggan.