Transformasi agregat di 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.

Transformasi Agregat menentukan agregasi kolom di aliran data Anda. Menggunakan Penyusun Ekspresi, Anda dapat menentukan berbagai jenis agregasi seperti SUM, MIN, MAX, dan COUNT yang dikelompokkan menurut kolom yang sudah ada atau dihitung.

Kelompokkan berdasarkan

Pilih kolom yang sudah ada atau buat kolom komputasi baru untuk digunakan sebagai grup menurut klausul untuk agregasi Anda. Untuk menggunakan kolom yang sudah ada, pilih kolom tersebut dari dropdown. Untuk membuat kolom komputasi baru, arahkan kursor ke klausul dan klik Kolom komputasi. Ini membuka penyusun ekspresi aliran data. Setelah membuat kolom komputasi, masukkan nama kolom output di bawah bidangNama sebagai. Jika Anda ingin menambahkan grup tambahan menurut klausul, arahkan kursor ke klausul yang ada dan klik ikon plus.

Aggregate transformation group by settings

Grup menurut klausul bersifat opsional dalam transformasi Agregat.

Kolom agregat

Buka tab Agregat untuk menyusun ekspresi agregasi. Anda dapat menimpa kolom yang sudah ada dengan agregasi, atau membuat bidang baru dengan nama baru. Ekspresi agregasi dimasukkan di kotak kanan di samping pemilih nama kolom. Untuk mengedit ekspresi, klik kotak teks dan buka penyusun ekspresi. Untuk menambahkan kolom agregat lainnya, klik Tambahkan di atas daftar kolom atau ikon plus di samping kolom agregat yang sudah ada. Pilih Tambahkan kolom atau Tambahkan pola kolom. Setiap ekspresi agregasi harus berisi setidaknya satu fungsi agregat.

Aggregate settings

Catatan

Dalam mode Debug, penyusun ekspresi tidak dapat menghasilkan pratinjau data dengan fungsi agregat. Untuk melihat pratinjau data untuk transformasi agregat, tutup pembangun ekspresi dan tampilkan data melalui tab 'Pratinjau Data'.

Pola kolom

Gunakan pola kolom untuk menerapkan agregasi yang sama ke set kolom. Hal ini berguna jika Anda ingin bertahan dengan banyak kolom dari skema input saat dihilangkan secara default. Gunakan heuristik seperti first() untuk mempertahankan kolom input melalui agregasi.

Menyambungkan kembali baris dan kolom

Transformasi agregat mirip dengan kueri pemilihan agregat SQL. Kolom yang tidak disertakan dalam grup Anda berdasarkan klausul atau fungsi agregat tidak akan mengalir ke output transformasi agregat Anda. Jika ingin menyertakan kolom lain dalam output agregat Anda, lakukan salah satu metode berikut:

  • Gunakan fungsi agregat seperti last() atau first() untuk menyertakan kolom tambahan tersebut.
  • Bergabung kembali dengan kolom ke aliran output Anda menggunakan pola gabungan mandiri.

Menghapus baris duplikat

Penggunaan umum transformasi agregat yaitu menghapus atau mengidentifikasi entri duplikat dalam data sumber. Proses ini dikenal sebagai deduplikasi. Berdasarkan satu set grup menurut kunci, gunakan heuristik pilihan Anda untuk menentukan baris duplikat mana yang akan disimpan. Heuristik umum adalah first(), last(), max(), dan min(). Gunakan pola kolom untuk menerapkan aturan ke setiap kolom kecuali untuk grup menurut kolom.

Deduplication

Dalam contoh di atas, kolomProductID dan Name sedang digunakan untuk pengelompokan. Jika dua baris memiliki nilai yang sama untuk dua kolom tersebut, baris tersebut dianggap sebagai duplikat. Dalam transformasi agregat ini, nilai baris pertama yang cocok akan disimpan dan semua lainnya akan dihilangkan. Menggunakan sintaks pola kolom, semua kolom yang namanya tidak ProductID dan Name dipetakan ke nama kolom yang sudah ada dan diberi nilai baris pertama yang cocok. Skema output sama dengan skema input.

Untuk skenario validasi data, fungsi count() ini dapat digunakan untuk menghitung berapa banyak duplikat yang ada.

Skrip aliran data

Sintaks

<incomingStream>
    aggregate(
           groupBy(
                <groupByColumnName> = <groupByExpression1>,
                <groupByExpression2>
               ),
           <aggregateColumn1> = <aggregateExpression1>,
           <aggregateColumn2> = <aggregateExpression2>,
           each(
                match(matchExpression),
                <metadataColumn1> = <metadataExpression1>,
                <metadataColumn2> = <metadataExpression2>
               )
          ) ~> <aggregateTransformationName>

Contoh

Contoh di bawah ini mengambil aliran masuk MoviesYear dan grup baris menurut kolom year. Transformasi membuat kolom agregat avgrating yang dievaluasi ke rata-rata kolom Rating. Transformasi agregat ini dinamai AvgComedyRatingsByYear.

Di UI, transformasi ini terlihat seperti gambar di bawah ini:

Group by example

Aggregate example

Skrip aliran data untuk transformasi ini ada di cuplikan di bawah ini.

MoviesYear aggregate(
                groupBy(year),
                avgrating = avg(toInteger(Rating))
            ) ~> AvgComedyRatingByYear

Aggregate data flow script

MoviesYear: Kolom Turunan mendefinisikan kolom tahun dan judul AvgComedyRatingByYear: Transformasi agregat untuk peringkat rata-rata komedi yang dikelompokkan menurut tahun avgrating: Nama kolom baru yang dibuat untuk menahan nilai agregat

MoviesYear aggregate(groupBy(year),
	avgrating = avg(toInteger(Rating))) ~> AvgComedyRatingByYear