Aktivitas salin di Azure Data Factory dan Azure Synapse Analytics
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!
Di alur Azure Data Factory dan Synapse, Anda dapat menggunakan aktivitas Salin untuk menyalin data di antara penyimpanan data yang terletak di tempat lokal dan di cloud. Setelah menyalin data, Anda dapat menggunakan aktivitas lain untuk mengubah dan menganalisisnya lebih lanjut. Anda juga dapat menggunakan Aktivitas Salin untuk menerbitkan hasil transformasi dan analisis untuk kecerdasan bisnis (BI) dan konsumsi aplikasi.
Aktivitas Salin dijalankan pada runtime integrasi. Anda dapat menggunakan berbagai jenis runtime integrasi untuk berbagai skenario salinan data:
- Saat Anda menyalin data di antara dua penyimpanan data yang dapat diakses publik melalui internet dari IP apa pun, Anda dapat menggunakan runtime integrasi Azure untuk aktivitas salin. Runtime integrasi ini aman, andal, dapat diskalakan, dan tersedia secara global.
- Saat Anda menyalin data ke dan dari penyimpanan data yang terletak di tempat atau di jaringan dengan kontrol akses (misalnya, jaringan virtual Azure), Anda perlu menyiapkan runtime integrasi yang dihost sendiri.
Runtime integrasi perlu dikaitkan dengan setiap sumber dan penyimpanan data sink. Untuk informasi tentang bagaimana aktivitas Salin menentukan waktu proses integrasi mana yang akan digunakan, lihat Menentukan runtime integrasi mana yang akan digunakan.
Catatan
Anda tidak dapat menggunakan lebih dari satu runtime integrasi yang dihost sendiri dalam aktivitas Salin yang sama. Sumber dan sink untuk aktivitas harus terhubung dengan runtime integrasi yang dihost sendiri yang sama.
Untuk menyalin data dari sumber ke sink, layanan yang menjalankan aktivitas Salin melakukan langkah-langkah ini:
- Membaca data dari penyimpanan data sumber.
- Melakukan serialisasi/deserialisasi, pemadatan/dekompresi, pemetaan kolom, dan sebagainya. Layanan tersebut melakukan operasi ini berdasarkan konfigurasi himpunan data input, himpunan data output, dan aktivitas Salin.
- Menulis data ke penyimpanan data sink/tujuan.
Catatan
Jika runtime integrasi yang dihost sendiri digunakan di penyimpanan data sumber atau sink dalam aktivitas Salin, sumber dan sink harus dapat diakses dari server yang menghosting runtime integrasi agar aktivitas Salin berhasil.
Penyimpanan data dan format yang didukung
Catatan
Jika konektor ditandai sebagai Pratinjau, Anda dapat mencobanya dan memberi kami umpan balik. Jika Anda ingin bergantung pada konektor pratinjau dalam solusi Anda, hubungi dukungan Azure.
Format file yang didukung
Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.
- Format Avro
- Format Biner
- Format teks terpisah
- Format Excel
- Format Iceberg (hanya untuk Azure Data Lake Storage Gen2)
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Anda dapat menggunakan aktivitas Salin untuk menyalin file apa adanya di antara dua penyimpanan data berbasis file, dalam hal ini data disalin secara efisien tanpa serialisasi atau deserialisasi. Selain itu, Anda juga dapat memilah atau membuat file dengan format tertentu, misalnya, Anda dapat melakukan hal berikut:
- Menyalin data dari database SQL Server dan menulis ke Azure Data Lake Storage Gen2 dalam format Parquet.
- Menyalin file dalam format teks (CSV) dari sistem file lokal dan menulis ke penyimpanan Azure Blob dalam format Avro.
- Menyalin file zip dari sistem file lokal, mendekompresi file dengan cepat, dan menulis file yang diekstrak ke Azure Data Lake Storage Gen2.
- Menyalin data dalam format teks terpadatkan Gzip (CSV) dari penyimpanan Azure Blob dan menulisnya ke Azure SQL Database.
- Banyak lagi aktivitas yang memerlukan serialisasi/deserialisasi atau pemadatan/dekompresi.
Wilayah yang didukung
Layanan yang memungkinkan aktivitas Salin tersedia secara global di wilayah dan geografi yang tercantum di lokasi runtime integrasi Azure. Topologi yang tersedia secara global memastikan pergerakan data yang efisien yang biasanya menghindari hop lintas wilayah. Lihat Produk berdasarkan wilayah untuk memeriksa ketersediaan Data Factory, Ruang Kerja Synapse, dan pergerakan data di wilayah tertentu.
Konfigurasi
Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:
- Alat Penyalinan Data
- Portal Microsoft Azure
- SDK .NET
- SDK Python
- Azure PowerShell
- REST API
- Templat Azure Resource Manager
Secara umum, untuk menggunakan aktivitas Salin di alur Azure Data Factory atau Synapse, Anda perlu:
- Membuat layanan tertaut untuk penyimpanan data sumber dan penyimpanan data sink. Anda bisa menemukan daftar konektor yang didukung di bagian Penyimpanan dan format data yang didukung di artikel ini. Lihat bagian "Properti layanan tertaut" artikel konektor untuk informasi konfigurasi dan properti yang didukung.
- Membuat himpunan data untuk sumber dan sink. Lihat bagian "Properti himpunan data" di artikel sumber dan artikel konektor sink untuk informasi konfigurasi dan properti yang didukung.
- Membuat alur dengan aktivitas Salin. Bagian berikutnya memberikan contoh.
Sintaks
Templat aktivitas Salin berikut ini berisi daftar lengkap properti yang didukung. Tentukan yang sesuai dengan skenario Anda.
"activities":[
{
"name": "CopyActivityTemplate",
"type": "Copy",
"inputs": [
{
"referenceName": "<source dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<sink dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>",
<properties>
},
"sink": {
"type": "<sink type>"
<properties>
},
"translator":
{
"type": "TabularTranslator",
"columnMappings": "<column mapping>"
},
"dataIntegrationUnits": <number>,
"parallelCopies": <number>,
"enableStaging": true/false,
"stagingSettings": {
<properties>
},
"enableSkipIncompatibleRow": true/false,
"redirectIncompatibleRowSettings": {
<properties>
}
}
}
]
Detail sintaks
Properti | Deskripsi | Wajib diisi? |
---|---|---|
jenis | Untuk aktivitas Salin, atur ke Copy |
Ya |
input | Tentukan himpunan data yang Anda buat yang menunjuk ke data sumber. Aktivitas Salin hanya mendukung satu input. | Ya |
output | Tentukan himpunan data yang Anda buat yang menunjuk ke data sink. Aktivitas Salin hanya mendukung satu output. | Ya |
typeProperties | Tentukan properti untuk mengonfigurasikan aktivitas Salin. | Ya |
sumber | Tentukan jenis sumber salinan dan properti terkait untuk mengambil data. Untuk informasi selengkapnya, lihat bagian "Properti aktivitas salin" di artikel konektor yang tercantum di Penyimpanan dan format data yang didukung. |
Ya |
sink | Tentukan jenis sumber salin dan properti terkait untuk menulis data. Untuk informasi selengkapnya, lihat bagian "Properti aktivitas salin" di artikel konektor yang tercantum di Penyimpanan dan format data yang didukung. |
Ya |
penerjemah | Tentukan pemetaan kolom eksplisit dari sumber ke sink. Properti ini berlaku saat perilaku salin default tidak memenuhi kebutuhan Anda. Untuk informasi selengkapnya, lihat Pemetaan skema dalam aktivitas salin. |
No |
dataIntegrationUnits | Tentukan pengukuran yang menunjukkan jumlah daya yang digunakan runtime integrasi Azure untuk penyalinan data. Unit-unit ini sebelumnya dikenal sebagai cloud Data Movement Units (DMU). Untuk informasi selengkapnya, lihat Unit Integrasi Data. |
No |
parallelCopies | Tentukan paralelisme yang Anda inginkan untuk digunakan aktivitas Salin saat membaca data dari sumber dan menulis data ke sink. Untuk informasi selengkapnya, lihat Salinan paralel. |
No |
mempertahankan | Tentukan apakah akan mempertahankan metadata/ACL selama penyalinan data. Untuk informasi selengkapnya, lihat Mempertahankan metadata. |
No |
enableStaging stagingSettings |
Tentukan apakah akan menahapkan data sementara di penyimpanan Blob alih-alih langsung menyalin data dari sumber ke sink. Untuk informasi tentang skenario dan detail konfigurasi yang berguna, lihat Salinan yang ditahapkan. |
No |
enableSkipIncompatibleRow redirectIncompatibleRowSettings |
Pilih cara menangani baris yang tidak kompatibel saat Anda menyalin data dari sumber ke sink. Untuk informasi selengkapnya, lihat Toleransi kegagalan. |
No |
Pemantauan
Anda dapat memantau aktivitas Salin yang dijalankan di Azure Data Factory baik secara visual maupun terprogram. Untuk detailnya, lihat Memantau aktivitas salin.
Salinan bertambah bertahap
Alur Data Factory dan Synapse memungkinkan Anda menyalin data delta secara bertahap dari penyimpanan data sumber ke penyimpanan data sink. Untuk detailnya, lihat Tutorial: Menyalin data secara bertahap.
Performa dan penyetelan
Pengalaman pemantauan aktivitas salin menunjukkan statistik performa salin untuk setiap aktivitas yang Anda jalankan. Panduan performa dan skalabilitas aktivitas salin menjelaskan faktor-faktor utama yang memengaruhi performa pergerakan data melalui aktivitas Salin. Panduan ini juga mencantumkan nilai performa yang diamati selama pengujian dan membahas cara mengoptimalkan performa aktivitas Salin.
Lanjutkan dari proses terakhir yang gagal
Aktivitas salin mendukung kelanjutan dari proses terakhir yang gagal dijalankan ketika Anda menyalin file berukuran besar secara apa adanya dengan format biner antara penyimpanan berbasis file dan memilih untuk mempertahankan folder/hierarki file dari sumber ke sink, misalnya untuk memigrasikan data dari Amazon S3 ke Azure Data Lake Storage Gen2. Ini berlaku untuk konektor berbasis file berikut: Amazon S3, Amazon S3 Compatible Storage Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, Oracle Cloud Storage dan SFTP.
Anda dapat memanfaatkan kelanjutan aktivitas salin dengan dua cara berikut:
Coba lagi tingkat aktivitas: Anda dapat mengatur jumlah percobaan ulang pada aktivitas salin. Selama eksekusi alur, jika eksekusi aktivitas salin ini gagal, percobaan ulang otomatis berikutnya akan dimulai dari titik kegagalan percobaan terakhir.
Eksekusi ulang dari aktivitas yang gagal: Setelah eksekusi alur selesai, Anda juga dapat memicu eksekusi ulang dari aktivitas yang gagal dalam tampilan pemantauan antarmuka pengguna Azure Data Factory atau secara terprogram. Jika aktivitas yang gagal adalah aktivitas salin, alur tidak hanya akan dieksekusi ulang dari aktivitas ini, tetapi juga dilanjutkan dari titik kegagalan eksekusi sebelumnya.
Poin yang perlu diperhatikan:
- Kelanjutan terjadi pada tingkat file. Jika aktivitas salin gagal saat menyalin file, dalam eksekusi berikutnya, file khusus ini akan disalin ulang.
- Agar kelanjutan berfungsi dengan baik, jangan ubah pengaturan aktivitas salin di antara eksekusi ulang.
- Saat Anda menyalin data dari Amazon S3, Azure Blob, Azure Data Lake Storage Gen2 dan Google Cloud Storage, aktivitas salin dapat dilanjutkan dari jumlah file yang disalin secara acak. Sementara untuk konektor berbasis file lainnya sebagai sumber, aktivitas salin saat ini mendukung kelanjutan dari sejumlah file yang terbatas, biasanya pada rentang puluhan ribu dan bervariasi tergantung pada panjang jalur file; file di luar jumlah ini akan disalin ulang selama eksekusi ulang.
Untuk skenario lain daripada salinan file biner, eksekusi ulang aktivitas salin dimulai dari awal.
Catatan
Dilanjutkan dari eksekusi terakhir yang gagal melalui runtime integrasi yang dihost sendiri sekarang hanya didukung dalam runtime integrasi yang dihost sendiri versi 5.43.8935.2 atau lebih tinggi.
Mempertahankan metadata bersama dengan data
Saat menyalin data dari sumber ke sink, dalam skenario seperti migrasi data lake, Anda juga dapat memilih untuk mempertahankan metadata dan ACL bersama dengan data menggunakan aktivitas salin. Lihat Mempertahankan metadata untuk detailnya.
Menambahkan tag metadata ke sink berbasis file
Saat sink berbasis Azure Storage (penyimpanan data lake Azure atau Azure Blob Storage), kita dapat memilih untuk menambahkan beberapa metadata ke file. Metadata ini akan muncul sebagai bagian dari properti file sebagai pasangan Key-Value. Untuk semua jenis sink berbasis file, Anda dapat menambahkan metadata yang melibatkan konten dinamis menggunakan parameter alur, variabel sistem, fungsi, dan variabel. Selain itu, untuk sink berbasis file biner, Anda memiliki opsi untuk menambahkan tanggalwaktu Terakhir Diubah (dari file sumber) menggunakan kata kunci $$LASTMODIFIED, serta nilai kustom sebagai metadata ke file sink.
Skema dan pemetaan jenis data
Lihat Pemetaan skema dan jenis data untuk informasi tentang cara aktivitas Salin memetakan data sumber Anda ke sink Anda.
Menambahkan kolom tambahan selama penyalinan
Selain menyalin data dari penyimpanan data sumber ke sink, Anda juga dapat mengonfigurasikan untuk menambahkan kolom data tambahan untuk disalin ke sink. Contohnya:
- Saat Anda menyalin dari sumber berbasis file, simpan jalur file relatif sebagai kolom tambahan untuk melacak dari file asal data.
- Menduplikasi kolom sumber yang ditentukan sebagai kolom lain.
- Menambahkan kolom dengan ekspresi ADF, untuk melampirkan variabel sistem ADF seperti nama alur/ID alur, atau simpan nilai dinamis lainnya dari output aktivitas upstream.
- Menambahkan kolom dengan nilai statis untuk memenuhi kebutuhan konsumsi hilir Anda.
Anda dapat menemukan konfigurasi berikut pada tab sumber aktivitas salin. Anda juga dapat memetakan kolom tambahan tersebut dalam pemetaan skema aktivitas salin sebagaimana biasa dengan menggunakan nama kolom yang ditentukan.
Tip
Fitur ini bekerja dengan model himpunan data terbaru. Jika Anda tidak melihat opsi ini dari antarmuka pengguna, coba buat himpunan data baru.
Untuk mengonfigurasikannya secara terprogram, tambahkan properti additionalColumns
di sumber aktivitas salin Anda:
Properti | Deskripsi | Wajib diisi |
---|---|---|
additionalColumns | Tambahkan kolom data tambahan untuk disalin ke sink. Setiap objek di bawah additionalColumns array mewakili kolom tambahan. name menentukan nama kolom, dan value menunjukkan nilai data kolom tersebut.Nilai data yang diperbolehkan adalah: - $$FILEPATH - variabel yang dicadangkan menunjukkan untuk menyimpan jalur relatif file sumber ke jalur folder yang ditentukan dalam himpunan data. Menerapkan ke sumber berbasis file.- $$COLUMN:<source_column_name> - pola variabel yang dicadangkan menunjukkan untuk menduplikasi kolom sumber yang ditentukan sebagai kolom lain- Expression - Nilai statis |
No |
Contoh:
"activities":[
{
"name": "CopyWithAdditionalColumns",
"type": "Copy",
"inputs": [...],
"outputs": [...],
"typeProperties": {
"source": {
"type": "<source type>",
"additionalColumns": [
{
"name": "filePath",
"value": "$$FILEPATH"
},
{
"name": "newColName",
"value": "$$COLUMN:SourceColumnA"
},
{
"name": "pipelineName",
"value": {
"value": "@pipeline().Pipeline",
"type": "Expression"
}
},
{
"name": "staticValue",
"value": "sampleValue"
}
],
...
},
"sink": {
"type": "<sink type>"
}
}
}
]
Tip
Setelah mengonfigurasi kolom tambahan, ingatlah untuk memetakannya ke sink tujuan Anda, di tab Pemetaan.
Membuat tabel sink secara otomatis
Saat Anda menyalin data ke database SQL/Azure Synapse Analytics, jika tabel tujuan tidak ada, aktivitas salin mendukung pembuatannya secara otomatis berdasarkan data sumber. Ini bertujuan untuk membantu Anda dengan cepat mulai memuat data dan mengevaluasi database SQL/Azure Synapse Analytics. Setelah penyerapan data, Anda dapat mengulas dan menyesuaikan skema tabel sink sesuai dengan kebutuhan Anda.
Fitur ini didukung saat menyalin data dari sumber apa pun ke dalam penyimpanan data sink berikut. Anda dapat menemukan opsi pada UI penulisan ADF ->Opsi salin sink aktivitas ->Tabel ->Buat tabel otomatis, atau melalui tableOption
properti dalam payload sink aktivitas salin.
Toleransi kegagalan
Secara default, aktivitas Salin berhenti menyalin data dan mengembalikan kegagalan saat baris data sumber tidak kompatibel dengan baris data sink. Untuk membuat salinan berhasil, Anda dapat mengonfigurasikan aktivitas Salin untuk melompati dan mencatat baris yang tidak kompatibel dan hanya menyalin data yang kompatibel. Lihat Menyalin toleransi kegagalan aktivitas untuk detailnya.
Verifikasi konsistensi data
Saat Anda memindahkan data dari penyimpanan sumber ke penyimpanan tujuan, aktivitas penyalinan menyediakan opsi bagi Anda untuk melakukan verifikasi konsistensi data tambahan guna memastikan data tidak hanya berhasil disalin dari penyimpanan sumber ke tujuan, tetapi juga diverifikasi agar konsisten antara penyimpanan sumber dan tujuan. Setelah file yang tidak konsisten ditemukan selama pemindahan data, Anda dapat membatalkan aktivitas penyalinan atau melanjutkan menyalin sisanya dengan mengaktifkan pengaturan toleransi kegagalan untuk melompati file yang tidak konsisten. Anda bisa mendapatkan nama file yang dilompati dengan mengaktifkan pengaturan log sesi dalam aktivitas salin. Lihat Verifikasi konsistensi data dalam aktivitas salinuntuk detailnya.
Log sesi
Anda dapat mencatat nama file yang disalin, yang dapat membantu Anda untuk lebih memastikan bahwa data tidak hanya berhasil disalin dari sumber ke penyimpanan tujuan, tetapi juga konsisten antara sumber dan penyimpanan tujuan dengan mengulas file yang disalin dalam log sesi aktivitas salin. Lihat Aktivitas penyalinan masuk sesi untuk detailnya.
Konten terkait
Lihat mulai cepat, tutorial, dan contoh berikut ini: