Menggunakan pola kolom dalam memetakan aliran 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!

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 yang masuk sering berubah seperti kasus perubahan kolom dalam file teks atau database NoSQL. Skenario ini dikenal sebagai skema drift.
  • Jika Anda ingin melakukan operasi umum pada sekelompok besar kolom. Misalnya, ingin mentransmisikan setiap kolom yang memiliki 'total' di nama kolomnya menjadi ganda.

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.

Screenshot shows the plus icon to Add column pattern.

Gunakan penyusun ekspresi untuk memasukkan kondisi kecocokan. Buat ekspresi boolean yang cocok dengan kolom berdasarkan name, type, stream, origin, dan position kolom. Pola akan mempengaruhi kolom apa pun, yang di-drift atau didefinisikan, yang kondisinya mengembalikan true.

Screenshot shows the Derived column's settings tab.

Pola kolom di atas cocok dengan setiap kolom tipe ganda dan membuat satu kolom turunan per kecocokan. Dengan menyatakan $$ sebagai bidang nama kolom, setiap kolom yang cocok diperbarui dengan nama yang sama. Nilai setiap kolom adalah nilai yang ada dibulatkan ke dua titik 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.

Screenshot shows the Output schema tab.

Pencocokan pola hierarkis

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

Screenshot shows hierarchical column pattern.

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 peta, gunakan transformasi kolom turunan dengan pola kolom untuk membentuk tabel relasional Anda yang rata dari hierarki. Anda dapat menggunakan pola kolom yang akan terlihat seperti sampel ini, yang meratakan hierarki geografi menjadi bentuk tabel relasional:

Screenshot shows the Derived column's flatten structure.

Pemetaan berbasis aturan di pilih dan sink

Saat memetakan kolom di sumber dan memilih transformasi, Anda dapat menambahkan pemetaan tetap atau pemetaan berbasis aturan. Cocokkan beradasarkan name, type, stream, origin, dan position dari kolom. Anda dapat memiliki kombinasi pemetaan tetap dan berbasis aturan. Secara default, semua proyeksi dengan lebih dari 50 kolom akan bersifat default ke pemetaan berbasis aturan yang cocok pada setiap kolom dan menghasilkan nama diinput.

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

Screenshot shows Rule-based mapping selected from Add mapping.

Setiap pemetaan berbasis aturan memerlukan dua input: kondisi yang akan dicocokkan dan yang harus diberi nama untuk setiap kolom yang dipetakan. Kedua nilai diinput melalui penyusun ekspresi. Di kotak ekspresi kiri, masukkan kondisi kecocokan boolean. Di kotak ekspresi kanan, tentukan kolom yang cocok untuk dipetakan.

Screenshot shows a mapping.

Gunakan sintaks $$ untuk mereferensikan nama input kolom yang cocok. Menggunakan gambar di atas sebagai contoh, katakan pengguna ingin mencocokkan semua kolom untai (karakter) yang 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 sesuai 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 cocok dengan semua nama kolom yang cocok dengan kondisi regex yang ditentukan. Hal ini dapat digunakan dalam kombinasi dengan pemetaan berbasis aturan standar.

Screenshot shows the regex-mapping condition with Hierarchy level and Name matches.

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.

Screenshot shows a rule-based mapping using for a hierarchy.

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 diterjemahkan ke kecocokan nama kolom saat ini pada durasi 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