Memparametisasi alur pemetaan data

Azure Data Factory Azure Synapse Analytics

Petunjuk

Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.

Pemetaan aliran data dalam alur Azure Data Factory dan 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 Jalankan Data Flow. 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.

Screenshot dari pembuatan parameter Data Flow.

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 .

Cuplikan layar memperlihatkan parameter yang tersedia di tab Parameter.

Anda dapat dengan cepat menambahkan parameter tambahan dengan memilih Parameter baru dan menentukan nama dan jenis.

Cuplikan layar memperlihatkan parameter di tab Parameter dengan parameter baru yang ditambahkan.

Menggunakan layanan tertaut berparameter dalam aliran data pemetaan

Layanan tertaut berparameter dapat digunakan dalam alur data pemetaan (untuk jenis sumber himpunan data atau sebaris).

Untuk tipe sumber inline, parameter layanan tertaut diekspos dalam pengaturan aktivitas data flow dalam pipeline seperti yang ditunjukkan di bawah ini.

Cuplikan layar memperlihatkan penggunaan parameter layanan tertaut dalam aliran data.

Untuk jenis sumber himpunan data, parameter layanan tertaut diekspos langsung dalam konfigurasi himpunan data.

Menetapkan nilai parameter dari alur

Setelah Anda membuat aliran data dengan parameter, Anda dapat menjalankannya dari pipeline dengan Aktivitas Jalankan Aliran Data. Setelah menambahkan aktivitas ke kanvas pipeline, Anda akan disajikan dengan parameter alur data yang tersedia di tab Parameter aktivitas.

Saat menetapkan nilai parameter, Anda dapat menggunakan bahasa ekspresi pipeline atau bahasa ekspresi aliran data berdasarkan tipe spark. Setiap aliran pemetaan data dapat memiliki kombinasi parameter alur dan ekspresi aliran data.

Tangkapan layar memperlihatkan tab Parameter dengan ekspresi Aliran Data dipilih untuk nilai myparam.

Parameter ekspresi jalur

Parameter ekspresi alur memungkinkan Anda mereferensikan variabel sistem, fungsi, parameter alur, dan variabel yang mirip dengan aktivitas alur lainnya. Saat Anda mengeklik ekspresi pipeline, panel navigasi samping akan terbuka, memungkinkan Anda untuk memasukkan ekspresi menggunakan penyusun ekspresi.

Cuplikan layar memperlihatkan panel 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.

Literal string vs ekspresi

Saat menetapkan parameter ekspresi alur yang bertipe string, secara default, tanda kutip akan ditambahkan dan nilainya akan dievaluasi sebagai nilai literal. Untuk membaca nilai parameter sebagai ekspresi aliran data, centang kotak ekspresi di samping parameter.

Cuplikan layar memperlihatkan Ekspresi yang dipilih untuk parameter di panel Parameter aliran data.

Jika parameter aliran data stringParam mereferensikan parameter alur dengan nilai upper(column1).

  • Jika ekspresi dicentang, $stringParam mengevaluasi nilai kolom1 menjadi huruf kapital semua.
  • Jika ekspresi tidak dicentang (perilaku default), $stringParam bernilai 'upper(column1)'

Memasukkan cap 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').

Cuplikan layar memperlihatkan tab Parameter tempat Anda dapat memasukkan waktu pemicu.

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.

Cuplikan layar memperlihatkan tab Parameter dengan parameter bernama stringParam dan intParam.

@pipeline.parameters.pipelineParam diberi nilai abs(1) pada runtime.

Cuplikan layar memperlihatkan tab Parameter dengan nilai a b s (1) dipilih.

Ketika $intParam direferensikan dalam ekspresi seperti kolom turunan, maka ia akan mengevaluasi abs(1), mengembalikan 1.

Cuplikan layar memperlihatkan nilai kolom.

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 dalam bentuk aslinya 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 membuat nama kolom sebagai nilai parameter tertentu. 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 mengubah kolom ke tipe yang sesuai dengan fungsi casting seperti toString().

Misalnya, jika Anda ingin memetakan kolom untai berdasarkan parameter columnName, Anda dapat menambahkan transformasi kolom turunan yang sama dengan toString(byName($columnName)).

Meneruskan nama kolom sebagai parameter

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'