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.

The role of the Copy activity

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.

Untuk menyalin data dari sumber ke sink, layanan yang menjalankan aktivitas Salin melakukan langkah-langkah ini:

  1. Membaca data dari penyimpanan data sumber.
  2. 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.
  3. Menulis data ke penyimpanan data sink/tujuan.

Copy activity overview

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

Category Penyimpanan data Didukung sebagai sumber Didukung sebagai sink Didukung oleh Azure IR Didukung oleh IR yang dihost sendiri
Azure Azure Blob Storage
  Indeks Pencarian Azure AI
  Azure Cosmos DB for NoSQL
  Azure Cosmos DB untuk MongoDB
  Azure Data Explorer
  Azure Data Lake Storage Gen1
  Azure Data Lake Storage Gen2
  Azure Database untuk MariaDB
  Azure Database untuk MySQL
  Azure Database untuk PostgreSQL
  Azure Databricks Delta Lake
  Azure Files
  Azure SQL Database
  Instans Terkelola Azure SQL
  Azure Synapse Analytics
  Azure Table Storage
Database Amazon RDS untuk Oracle
  Amazon RDS untuk SQL Server
  Amazon Redshift
  DB2
  Drill
  Google BigQuery
  Greenplum
  HBase
  Hive
  Apache Impala
  Informix
  MariaDB
  Microsoft Access
  MySQL
  Netezza
  Oracle
  PHOENIX
  PostgreSQL
  Presto
  SAP Business Warehouse melalui Open Hub
  SAP Business Warehouse melalui MDX
  SAP HANA Sink hanya didukung dengan Konektor ODBC dan driver SAP Hana ODBC
  Tabel SAP
  Snowflake
  Spark
  SQL Server
  Sybase
  Teradata
  Vertica
NoSQL Cassandra
  Couchbase (Pratinjau)
  MongoDB
  MongoDB Atlas
File Amazon S3
  Penyimpanan yang Kompatibel dengan Amazon S3
  Sistem file
  FTP
  Penyimpanan Cloud Google
  HDFS
  Penyimpanan Cloud Oracle
  SFTP
Protokol generik HTTP Generik
  OData Generik
  Konektivitas Database Terbuka Generik
  REST Umum
Layanan dan aplikasi Layanan Web Marketplace Amazon
  Concur (Pratinjau)
  Dataverse
  Dynamics 365
  Dynamics AX
  Dynamics CRM
  Google AdWords
  HubSpot
  Jira
  Magento (Pratinjau)
  Marketo (Pratinjau)
  Microsoft 365
  Oracle Eloqua (Pratinjau)
  Oracle Responsys (Pratinjau)
  Oracle Service Cloud (Pratinjau)
  PayPal (Pratinjau)
  QuickBooks (Pratinjau)
  Salesforce
  Cloud Layanan Salesforce
  Cloud Pemasaran Tenaga Penjualan
  SAP Cloud untuk Pelanggan (C4C)
  SAP ECC
  ServiceNow
Daftar Online SharePoint
  Shopify (Pratinjau)
  Square (Pratinjau)
  Tabel web (tabel HTML)
  Xero
  Zoho (Pratinjau)

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.

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:

Secara umum, untuk menggunakan aktivitas Salin di alur Azure Data Factory atau Synapse, Anda perlu:

  1. 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.
  2. 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.
  3. 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 StorageAzure 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.

    Copy resume

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.

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. Misalnya:

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

Add additional columns in copy activity

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

Create sink tables

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.

Lihat mulai cepat, tutorial, dan contoh berikut ini: