Menggunakan pola kolom dalam memetakan aliran data

Azure Data Factory Azure Synapse Analytics

Tip

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.

Beberapa transformasi aliran data pemetaan memungkinkan Anda mereferensikan kolom templat berdasarkan pola alih-alih nama kolom yang dikodekan secara permanen. Pencocokan ini dikenal sebagai pola kolom. Anda dapat menentukan pola untuk mencocokkan kolom berdasarkan nama, jenis data, aliran, asal, atau posisi, alih-alih memerlukan nama bidang yang tepat. Ada dua skenario yang menggunakan pola kolom:

  • Jika bidang sumber masuk sering berubah seperti kasus perubahan kolom dalam file teks atau database NoSQL. Skenario ini dikenal sebagai skema drift.
  • Jika Anda ingin melakukan operasi yang biasa pada sekelompok besar kolom. Misalnya, ingin mengonversi setiap kolom yang memiliki 'total' di nama kolomnya menjadi tipe data double.

Pola kolom dalam kolom turunan dan agregat

Untuk menambahkan pola kolom dalam kolom turunan, agregat, atau transformasi jendela, klik Tambahkan di atas daftar kolom atau ikon plus di samping kolom turunan yang sudah ada. Pilih Tambahkan pola kolom.

Cuplikan layar memperlihatkan ikon plus untuk Menambahkan pola kolom.

Gunakan pembangun ekspresi untuk memasukkan kondisi kecocokan. Buat ekspresi boolean yang cocok dengan kolom berdasarkan name, type, stream, origin, dan position dari kolom. Pola akan mempengaruhi kolom apa pun, baik yang mengalami drift atau didefinisikan, di mana kondisinya mengembalikan benar.

Cuplikan layar memperlihatkan tab Pengaturan kolom Turunan.

Pola kolom di atas cocok dengan setiap kolom bertipe double dan membuat satu kolom turunan untuk setiap kecocokan. Dengan menyatakan $$ sebagai bidang nama kolom, setiap kolom yang cocok diperbarui dengan nama yang sama. Nilai setiap kolom adalah nilai yang ada dibulatkan hingga dua angka desimal.

Untuk memverifikasi bahwa kondisi pencocokan Anda sudah benar, Anda bisa memvalidasi skema output kolom yang ditentukan di tab Inspeksi atau mendapatkan rekam jepret data di tab Pratinjau data.

Cuplikan layar memperlihatkan tab skema Output.

Pencocokan pola hierarkis

Anda juga dapat membangun pencocokan pola di dalam struktur hierarki yang kompleks. Buka bagian Each MoviesStruct that matches yang akan meminta Anda untuk setiap hierarki di aliran data Anda. Anda kemudian dapat membangun pola pencocokan untuk properti dalam hierarki yang dipilih.

Cuplikan layar memperlihatkan pola kolom hierarkis.

Struktur perataan

Saat data memiliki struktur kompleks seperti larik, struktur hierarki, dan peta, Anda dapat menggunakan Ratakan transformasi untuk membuka larik dan mendenormalisasi data. Untuk struktur dan pemetaan, gunakan transformasi kolom turunan dengan pola kolom untuk membentuk tabel relasional datar Anda dari hierarki. Anda dapat menggunakan pola kolom yang akan terlihat seperti sampel ini, yang meratakan hierarki geografi menjadi bentuk tabel relasional:

Cuplikan layar memperlihatkan struktur datar kolom Turunan.

Pemetaan berbasis aturan dalam fungsi 'select' dan 'sink'

Saat memetakan kolom di sumber dan memilih transformasi, Anda dapat menambahkan pemetaan tetap atau pemetaan berbasis aturan. Cocokkan berdasarkan name, type, stream, origin, dan position dari kolom. Anda dapat memiliki kombinasi pemetaan tetap dan berbasis aturan. Semua proyeksi dengan lebih dari 50 kolom akan secara otomatis menggunakan pemetaan berbasis aturan yang mencocokkan setiap kolom dan memberikan keluaran nama yang diinput.

Untuk menambah pemetaan berbasis aturan, klik Tambah pemetaan dan pilih Pemetaan berbasis aturan.

Cuplikan layar memperlihatkan Pemetaan berbasis aturan yang dipilih dari Tambah pemetaan.

Setiap pemetaan berbasis aturan memerlukan dua input: kondisi yang akan dicocokkan dan penamaan untuk setiap kolom yang dipetakan. Kedua nilai diinput melalui penyusun ekspresi. Di kotak isian ekspresi di sebelah kiri, masukkan kondisi pencocokan boolean. Di kotak ekspresi kanan, tentukan kolom yang cocok untuk dipetakan.

Cuplikan layar memperlihatkan pemetaan.

Gunakan sintaks $$ untuk mereferensikan nama input kolom yang cocok. Menggunakan gambar di atas sebagai contoh, misalkan pengguna ingin mencocokkan semua kolom string yang panjang namanya kurang dari enam karakter. Jika satu kolom masuk diberi nama test, ekspresi $$ + '_short' akan mengganti nama kolom test_short. Jika itu satu-satunya pemetaan yang ada, semua kolom yang tidak memenuhi kondisi akan dihilangkan dari data yang dihasilkan.

Pola cocok dengan kolom yang dimaksud dan ditentukan. Untuk melihat kolom yang ditentukan yang dipetakan oleh aturan, klik ikon kacamata di samping aturan. Verifikasi output menggunakan pratinjau data.

Pemetaan regex

Jika Anda mengeklik ikon chevron ke bawah, Anda dapat menentukan kondisi pemetaan regex. Kondisi pemetaan regex mencocokkan semua nama kolom yang sesuai dengan kondisi regex yang ditentukan. Hal ini dapat digunakan dalam kombinasi dengan pemetaan berbasis aturan standar.

Cuplikan layar memperlihatkan kondisi pemetaan regex dengan tingkat Hierarki dan kecocokan Nama.

Contoh di atas cocok pada pola regex (r) atau nama kolom yang terdiri atas huruf kecil r. Mirip pemetaan berbasis aturan standar, semua kolom yang cocok diubah oleh kondisi di sebelah kanan menggunakan sintaks $$.

Hierarki berbasis aturan

Jika proyeksi yang ditentukan memiliki hierarki, Anda dapat menggunakan pemetaan berbasis aturan untuk memetakan subkolom hierarki. Tentukan kondisi yang cocok dan kolom kompleks yang subkolomnya ingin Anda petakan. Setiap subkolom yang cocok akan dihasilkan menggunakan aturan 'Nama sebagai' yang ditentukan di sebelah kanan.

Cuplikan layar memperlihatkan pemetaan berbasis aturan menggunakan hierarki.

Contoh di atas sesuai dengan semua subkolom dari kolom kompleks a. a terdiri atas dua subkolom b dan c. Skema output akan mencakup dua kolom b dan c sebagai kondisi 'Nama sebagai' adalah $$.

Nilai ekspresi pencocokan pola

  • $$ diterjemahkan ke nama atau nilai setiap pencocokan pada durasi. Anggap bahwa $$ setara dengan this
  • $0 mengacu pada kecocokan nama kolom saat ini pada waktu eksekusi untuk jenis skalar. Untuk jenis hierarkis, $0 mewakili jalur hierarki kolom yang cocok saat ini.
  • name mewakili nama setiap kolom masuk
  • type mewakili jenis data dari setiap kolom yang masuk. Daftar jenis data dalam sistem jenis aliran data dapat ditemukan di sini.
  • stream mewakili nama yang terkait dengan setiap aliran, atau transformasi dalam alur Anda
  • position adalah posisi kolom biasa dalam aliran data Anda
  • origin adalah transformasi tempat kolom berasal atau terakhir diperbarui