Membuat parameter alur pemetaan data
BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics
Tip
Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!
Alur pemetaan data di Azure Data Factory dan alur Synapse mendukung penggunaan parameter. Tentukan parameter di dalam definisi aliran data Anda dan gunakan di seluruh ekspresi Anda. Nilai parameter diatur oleh alur panggilan melalui aktivitas Menjalankan Aliran Data. Anda memiliki tiga opsi untuk mengatur nilai dalam ekspresi aktivitas aliran data:
- Menggunakan bahasa ekspresi alur kontrol untuk mengatur nilai dinamis
- Menggunakan bahasa ekspresi aliran data untuk mengatur nilai dinamis
- Menggunakan salah satu bahasa ekspresi untuk mengatur nilai harfiah statik
Menggunakan kemampuan ini untuk membuat aliran data Anda mengalir secara umum, fleksibel, dan dapat digunakan kembali. Anda dapat membuat parameter pengaturan dan ekspresi aliran data dengan parameter ini.
Membuat parameter dalam alur pemetaan data
Untuk menambahkan parameter ke aliran data Anda, klik bagian kosong kanvas aliran data untuk melihat properti umum. Di panel pengaturan, Anda akan melihat tab bernama Parameter. Pilih Baru untuk membuat parameter baru. Untuk setiap parameter, Anda harus menetapkan nama, memilih jenis, dan secara opsional menetapkan nilai default.
Membuat parameter dalam alur pemetaan data
Parameter dapat direferensikan dalam ekspresi aliran data apa pun. Parameter dimulai dengan $ dan tidak dapat diubah. Anda akan menemukan daftar parameter yang tersedia di dalam Penyusun Ekspresi di bawah tab Parameter .
Anda dapat dengan cepat menambahkan parameter tambahan dengan memilih Parameter baru dan menentukan nama dan jenis.
Menggunakan layanan tertaut berparameter dalam aliran data pemetaan
Layanan tertaut berparameter dapat digunakan dalam aliran data pemetaan (untuk jenis sumber himpunan data atau sebaris).
Untuk jenis sumber sebaris, parameter layanan tertaut diekspos dalam pengaturan aktivitas aliran data dalam alur seperti yang ditunjukkan di bawah ini.
Untuk jenis sumber himpunan data, parameter layanan tertaut diekspos langsung dalam konfigurasi himpunan data.
Menetapkan nilai parameter dari alur
Setelah Anda sudah membuat aliran data dengan parameter, Anda dapat menjalankannya dari alur dengan Aktivitas Menjalankan Aliran Data. Setelah menambahkan aktivitas ke kanvas alur, Anda akan disajikan dengan parameter aliran data yang tersedia di tab Parameter aktivitas.
Saat menetapkan nilai parameter, Anda dapat menggunakan bahasa ekspresi alur atau bahasa ekspresi aliran data berdasarkan jenis spark. Setiap aliran pemetaan data dapat memiliki kombinasi parameter alur dan ekspresi aliran data.
Parameter ekspresi alur
Parameter ekspresi alur memungkinkan Anda mereferensikan variabel sistem, fungsi, parameter alur, dan variabel yang mirip dengan aktivitas alur lainnya. Saat Anda mengeklik Ekspresi alur, navigasi samping akan terbuka, memungkinkan Anda untuk memasukkan ekspresi menggunakan penyusun ekspresi.
Saat direferensikan, parameter alur dievaluasi, lalu nilainya digunakan dalam bahasa ekspresi aliran data. Jenis ekspresi alur tidak perlu cocok dengan jenis parameter aliran data.
Harfiah string vs ekspresi
Saat menetapkan parameter ekspresi alur dari string jenis, secara default, kutipan akan ditambahkan dan nilainya akan dievaluasi sebagai harfiah. Untuk membaca nilai parameter sebagai ekspresi aliran data, centang kotak ekspresi di samping parameter.
Jika parameter aliran data stringParam
mereferensikan parameter alur dengan nilai upper(column1)
.
- Jika ekspresi dicentang,
$stringParam
mengevaluasi ke nilai kolom1 semua huruf besar. - Jika ekspresi tidak dicentang (perilaku default),
$stringParam
mengevaluasi ke'upper(column1)'
Melewati tanda waktu
Dalam bahasa ekspresi alur, variabel Sistem seperti pipeline().TriggerTime
dan fungsi seperti utcNow()
mengembalikan stempel waktu sebagai string dalam format 'yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ'. Untuk mengonversi ini menjadi parameter aliran data dari jenis tanda waktu, gunakan interpolasi string untuk menyertakan tanda waktu yang diinginkan dalam fungsi toTimestamp()
. Misalnya, untuk mengonversi waktu pemicu alur menjadi parameter aliran data, Anda dapat menggunakan toTimestamp(left('@{pipeline().TriggerTime}', 23), 'yyyy-MM-dd\'T\'HH:mm:ss.SSS')
.
Catatan
Aliran Data hanya dapat mendukung hingga 3 digit milidetik. Fungsi left()
ini digunakan untuk memangkas digit tambahan.
Contoh parameter alur
Katakanlah Anda memiliki parameter bilangan bulat intParam
yang mereferensikan parameter alur dari String jenis, @pipeline.parameters.pipelineParam
.
@pipeline.parameters.pipelineParam
diberi nilai abs(1)
pada runtime bahasa umum.
Ketika $intParam
direferensikan dalam ekspresi seperti kolom turunan, maka ia akan mengevaluasi abs(1)
, mengembalikan 1
.
Parameter ekspresi aliran data
Memilih Ekspresi aliran data akan membuka penyusun ekspresi aliran data. Anda akan dapat mereferensikan fungsi, parameter lain, dan kolom skema yang ditentukan di seluruh aliran data Anda. Ekspresi ini akan dievaluasi seperti saat direferensikan.
Catatan
Jika Anda meneruskan ekspresi yang tidak valid atau mereferensikan kolom skema yang tidak ada dalam transformasi tersebut, parameter akan mengevaluasi ke null.
Meneruskan nama kolom sebagai parameter
Pola umum adalah meneruskan nama kolom sebagai nilai parameter. Jika kolom ditentukan dalam skema aliran data, Anda dapat mereferensikannya langsung sebagai ekspresi untai. Jika kolom tidak didefinisikan dalam skema, gunakan fungsi byName()
. Ingatlah untuk mentransmisikan kolom ke jenis yang sesuai dengan fungsi konversi eksplisit seperti toString()
.
Misalnya, jika Anda ingin memetakan kolom untai berdasarkan parameter columnName
, Anda dapat menambahkan transformasi kolom turunan yang sama dengan toString(byName($columnName))
.
Catatan
Dalam ekspresi aliran data, interpolasi string (mengganti variabel di dalam string) tidak didukung. Sebagai gantinya, gabungkan ekspresi ke dalam nilai string. Misalnya: 'string part 1' + $variable + 'string part 2'