Pilih transformasi dalam pemetaan aliran 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.

Aliran data tersedia di alur Azure Data Factory dan alur Azure Synapse Analytics. Artikel ini berlaku untuk memetakan aliran data. Jika Anda baru mengenal transformasi, lihat artikel pengantar Mengubah data menggunakan aliran data pemetaan.

Gunakan transformasi pilih untuk mengganti nama, menghilangkan, atau menyusun ulang kolom. Transformasi ini tidak mengubah data baris, tetapi memilih kolom mana yang disebarkan ke hilir.

Dalam transformasi tertentu, pengguna dapat menentukan pemetaan tetap, menggunakan pola untuk melakukan pemetaan berbasis aturan, atau mengaktifkan pemetaan otomatis. Pemetaan tetap dan berbasis aturan dapat digunakan dalam transformasi pilihan yang sama. Jika kolom tidak cocok dengan salah satu pemetaan yang ditentukan, kolom tersebut akan dihilangkan.

Pemetaan tetap

Jika ada kurang dari 50 kolom yang ditentukan dalam proyeksi Anda, semua kolom yang ditentukan akan memiliki pemetaan tetap secara default. Pemetaan tetap mengambil kolom masuk yang ditentukan dan memetakannya dengan nama yang tepat.

Pemetaan tetap

Catatan

Anda tidak dapat memetakan atau mengganti nama kolom yang telah bergeser menggunakan pemetaan tetap.

Memetakan kolom hierarkis

Pemetaan tetap dapat digunakan untuk memetakan subkolom kolom hierarkis ke kolom tingkat atas. Jika Anda memiliki hierarki yang ditentukan, gunakan menu dropdown kolom untuk memilih subkolom. Transformasi pilih akan membuat kolom baru dengan nilai dan jenis data subkolom.

pemetaan hierarkis

Pemetaan berbasis aturan

Jika Anda ingin memetakan banyak kolom sekaligus atau meneruskan kolom yang teralami pergeseran di hilir, gunakan pemetaan berbasis aturan untuk menentukan pemetaan Anda dengan pola kolom. Cocokkan berdasarkan name, type, stream, dan position 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 $$.

Jika Anda memiliki beberapa kecocokan regex dalam nama kolom, Anda dapat merujuk ke kecocokan tertentu menggunakan $n di mana 'n' mengacu pada kecocokan mana. Misalnya, '$2' mengacu pada kecocokan kedua dalam nama kolom.

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 $$.

Parameterisasi

Anda dapat membuat parameter nama kolom menggunakan pemetaan berbasis aturan. Gunakan kata kunci name untuk mencocokkan nama kolom masuk dengan parameter. Misalnya, jika Anda memiliki parameter mycolumnaliran data , Anda dapat membuat aturan yang cocok dengan nama kolom apa pun yang sama dengan mycolumn. Anda dapat mengganti nama kolom yang cocok menjadi string yang dikodekan secara permanen seperti 'kunci bisnis' dan mereferensikannya secara eksplisit. Dalam contoh ini, kondisi pencocokan adalah name == $mycolumn dan kondisi nama adalah 'kunci bisnis'.

Pemetaan otomatis

Saat menambahkan transformasi pilih, Pemetaan otomatis dapat diaktifkan dengan mengalihkan penggeser Pemetaan otomatis. Dengan pemetaan otomatis, transformasi pemilihan memetakan semua kolom masuk, tidak termasuk duplikat, dengan nama yang sama dengan inputnya. Ini akan mencakup kolom yang mengalami pergeseran, artinya data keluaran mungkin berisi kolom yang belum ditentukan dalam skema Anda. Untuk informasi selengkapnya tentang kolom yang mengalami penyimpangan, lihat penyimpangan skema.

Pemetaan otomatis

Dengan pemetaan otomatis aktif, transformasi pemilihan akan mematuhi pengaturan lewati duplikat dan menyediakan alias baru untuk kolom yang ada. Aliasing berguna saat melakukan beberapa gabungan atau pencarian pada aliran yang sama dan dalam skenario gabungan mandiri.

Duplikasi kolom

Secara default, transformasi pemilihan menghilangkan kolom duplikat dalam proyeksi input dan output. Kolom duplikat sering berasal dari transformasi penggabungan dan pencarian di mana nama kolom diduplikasi pada masing-masing sisi penggabungan. Kolom output duplikat dapat terjadi jika Anda memetakan dua kolom input yang berbeda ke nama yang sama. Pilih apakah akan menghilangkan atau meneruskan kolom duplikat dengan beralih ke kotak centang.

Lewati Duplikat

Pengurutan kolom

Urutan pemetaan menentukan urutan kolom output. Jika kolom input dipetakan beberapa kali, hanya pemetaan pertama yang akan dihormati. Untuk setiap kolom duplikat yang dihapus, kolom yang pertama ditemukan akan disimpan.

Skrip aliran data

Sintaksis

<incomingStream>
    select(mapColumn(
        each(<hierarchicalColumn>, match(<matchCondition>), <nameCondition> = $$), ## hierarchical rule-based matching
        <fixedColumn>, ## fixed mapping, no rename
        <renamedFixedColumn> = <fixedColumn>, ## fixed mapping, rename
        each(match(<matchCondition>), <nameCondition> = $$), ## rule-based mapping
        each(patternMatch(<regexMatching>), <nameCondition> = $$) ## regex mapping
    ),
    skipDuplicateMapInputs: { true | false },
    skipDuplicateMapOutputs: { true | false }) ~> <selectTransformationName>

Contoh

Di bawah ini adalah contoh pemetaan pilihan dan skrip aliran datanya:

Pilih contoh skrip

DerivedColumn1 select(mapColumn(
        each(a, match(true())),
        movie,
        title1 = title,
        each(match(name == 'Rating')),
        each(patternMatch(`(y)`),
            $1 + 'regex' = $$)
    ),
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> Select1
  • Setelah menggunakan kolom Pilih untuk mengganti nama, menyusun ulang, dan alias, gunakan transformasi Sink untuk memasukkan data Anda ke penyimpanan data.