Alur Kerja E-MapReduce (EMR) menyediakan parameter waktu bawaan, parameter tugas (parameter lokal), parameter alur kerja (parameter global), dan parameter proyek. Alur Kerja EMR juga mendukung fitur pass parameter.
Konfigurasi parameter
Parameter waktu bawaan
Definisikan parameter
Anda tidak perlu mendefinisikan parameter waktu bawaan karena dapat langsung digunakan dalam tugas.
Gunakan parameter
Alur Kerja EMR mendukung parameter waktu bawaan dalam format $[...]. Parameter waktu bawaan dalam format $[yyyyMMddHHmmss] dapat dipisah dan digabung kembali menjadi beberapa format, seperti $[yyyyMMdd], $[HHmmss], dan $[yyyy-MM-dd]. Anda dapat memodifikasi parameter waktu bawaan dengan salah satu metode berikut:
Gunakan fungsi
add_months()untuk menambah atau mengurangi bulan. Pada contoh berikut, parameter pertama[yyyyMMdd]dalam tanda kurung menunjukkan format waktu yang dikembalikan, sedangkan parameter kedua menunjukkan jumlah bulan yang akan ditambahkan atau dikurangkan.Tambahkan N tahun:
$[add_months(yyyyMMdd,12*N)]Kurangi N tahun:
$[add_months(yyyyMMdd,-12*N)]Tambahkan N bulan:
$[add_months(yyyyMMdd,N)]Kurangi N bulan:
$[add_months(yyyyMMdd,-N)]
Tambahkan +Number atau -Number ke parameter waktu kustom.
Tambahkan N minggu:
$[yyyyMMdd+7*N]Kurangi N minggu:
$[yyyyMMdd-7*N]Tambahkan N hari:
$[yyyyMMdd+N]Kurangi N hari:
$[yyyyMMdd-N]Tambahkan N jam:
$[HHmmss+N/24]Kurangi N jam:
$[HHmmss-N/24]Tambahkan N menit:
$[HHmmss+N/24/60]Kurangi N menit:
$[HHmmss-N/24/60]
Parameter tugas
Parameter tugas, juga dikenal sebagai parameter lokal, berlaku untuk node tertentu. Secara default, parameter kustom yang didefinisikan saat membuat node hanya berlaku untuk node tersebut. Namun, jika Anda menetapkan bahwa parameter tersebut dapat diteruskan ke node turunan, maka parameter tersebut juga berlaku pada node turunan tersebut.
Definisikan parameter
Pada kotak dialog pengaturan node saat ini, klik ikon
di bawah Custom Parameters untuk menambahkan satu atau beberapa parameter kustom. Gambar berikut menunjukkan cara mendefinisikan parameter kustom.
Parameter kustom yang didefinisikan dalam contoh ini:
dt: nama parameter kustom.IN: menentukan bahwa parameter hanya berlaku untuk node saat ini. Nilai
OUTmenunjukkan bahwa parameter dapat diteruskan ke node turunan.VARCHAR: tipe data parameter.$[yyyy-MM-dd]: nilai parameter.
Gunakan parameter
Saat membuat node, tentukan parameter lokal dalam format ${...}.
Parameter alur kerja
Parameter alur kerja, juga dikenal sebagai parameter global, berlaku untuk semua node dalam suatu alur kerja dan dikonfigurasi saat menyimpan alur kerja tersebut.
Definisikan parameter
Saat menyimpan alur kerja, Anda dapat menambahkan satu atau beberapa parameter global serta menentukan nama dan nilainya.

Gunakan parameter
Saat menyimpan alur kerja, tentukan parameter global dalam format ${...}.
Parameter proyek
Parameter proyek berlaku untuk semua alur kerja dalam suatu proyek.
Definisikan parameter
Untuk mendefinisikan parameter proyek, lakukan langkah-langkah berikut: Pada halaman detail proyek, pilih di panel navigasi sebelah kiri. Pada halaman Project Parameter, klik Create Parameter. Pada kotak dialog Create Parameter, konfigurasikan Parameter Name dan Parameter Value.

Gunakan parameter
Saat membuat node, tentukan parameter proyek dalam format ${...}.
Pass parameters
Alur Kerja EMR memungkinkan penerusan parameter antar node. Anda dapat meneruskan parameter dari suatu node ke node turunan-nya.
Saat mendefinisikan parameter kustom untuk suatu node, pilih OUT agar parameter tersebut dapat diteruskan ke node turunan dari node saat ini. Selain itu, Anda harus menyertakan pernyataan echo "#{setValue(key=value)}" dalam skrip untuk node tersebut. Di sini, key menunjukkan nama parameter kustom bertipe OUT, sedangkan value merepresentasikan nilai yang akan diteruskan ke node turunan—berupa konstanta, nilai parameter tugas lain, atau nilai variabel dalam skrip bash. Untuk menggunakan parameter yang diteruskan tersebut pada node turunan, cukup rujuk parameter itu dalam format ${...}.
Contoh:
Teruskan konstanta
Saat membuat node, definisikan parameter kustom bernama res bertipe OUT dan masukkan echo "#{setValue(res=1234)}" dalam skrip. Dengan demikian, parameter res dengan nilai 1234 akan diteruskan ke node turunan.

Teruskan parameter tugas
Saat membuat node, definisikan parameter kustom bernama param bertipe IN dan atur nilainya menjadi 123. Kemudian, definisikan parameter kustom lain bernama res bertipe OUT dan masukkan echo "#{setValue(res=${param})}" dalam skrip. Dengan demikian, parameter res akan meneruskan nilai 123 dari parameter param ke node turunan.

Teruskan variabel dalam skrip bash
Saat membuat node, definisikan parameter kustom bernama res bertipe OUT dan masukkan echo "#{setValue(res=${RESULT})}" dalam skrip. Dengan demikian, parameter res akan meneruskan nilai variabel RESULT ke node turunan.

Prioritas parameter
Saat menggunakan Alur Kerja EMR, jenis-jenis parameter berikut terlibat:
Jika beberapa parameter dari jenis berbeda memiliki nama yang sama, nilai parameter yang diterapkan mengikuti prioritas berikut: Parameter tugas (parameter lokal) > Parameter yang diteruskan ke node turunan suatu node > Parameter alur kerja (parameter global) > Parameter proyek.