Bagikan melalui


Transformasi pilih dalam pemetaan 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!

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

Gunakan transformasi pilih untuk mengganti nama, meletakkan, atau mengurutkan ulang kolom. Transformasi tidak mengubah data baris, tetapi memilih kolom yang disebarluaskan di hilir.

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

Pemetaan tetap

Jika kurang dari 50 kolom yang ditentukan dalam proyeksi, 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 dimaksud menggunakan pemetaan tetap

Memetakan kolom hierarki

Pemetaan tetap dapat digunakan untuk memetakan subkolom dari kolom hierarki ke kolom tingkat atas. Jika Anda memiliki hierarki yang ditentukan, gunakan menu tarik-turun 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 melewati kolom yang dimaksud di hilir, gunakan pemetaan berbasis aturan untuk menentukan pemetaan menggunakan pola kolom. Cocokkan berdasarkan name, type, stream, 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.

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

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.

Cuplikan layar memperlihatkan pemetaan.

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.

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 mengacu pada kecocokan tertentu menggunakan $n di mana 'n' mengacu pada kecocokan. Contohnya, '$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 parameterisasi nama kolom menggunakan pemetaan berbasis aturan. Gunakan kata kunci name untuk mencocokkan nama kolom masuk dengan parameter. Contohnya, jika Anda memiliki parameter aliran data mycolumn, Anda dapat membuat aturan yang cocok dengan nama kolom yang sama dengan mycolumn. Anda dapat mengganti nama kolom yang cocok menjadi untai (karakter) berkode keras seperti 'kunci bisnis' dan mereferensikan secara eksplisit. Dalam contoh ini, kondisi pencocokan name == $mycolumn adalah 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 pilih memetakan semua kolom masuk, tidak termasuk duplikat, dengan nama yang sama dengan input. Hal ini akan mencakup kolom yang dimaksud, yang berarti data output dapat terdiri atas kolom yang tidak ditentukan dalam skema Anda. Untuk informasi selengkapnya tentang kolom yang dimaksud, lihat maksud skema.

Pemetaan otomatis

Dengan pemetaan otomatis menyala, transformasi pilih akan menerima pengaturan lewati duplikat dan menyediakan alias baru untuk kolom yang ada. Alias berguna saat melakukan beberapa gabungan atau pencarian pada streaming yang sama dan dalam skenario swa-gabung.

Kolom duplikat

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

Lewatkan Duplikat

Pemesanan kolom

Urutan pemetaan menentukan urutan kolom output. Jika kolom input dipetakan beberapa kali, hanya pemetaan pertama yang akan diterima. Untuk setiap kolom duplikat yang dihilangkan, pencocokan pertama akan disimpan.

Skrip aliran data

Sintaks

<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 adalah contoh pemetaan pilih 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.