Menyalin data dari Netezza menggunakan Azure Data Factory atau 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!

Artikel ini menguraikan cara menggunakan Aktivitas Penyalinan di alur Azure Data Factory atau Synapse Analytics untuk menyalin data dari Netezza. Artikel ini dibuat berdasarkan Aktivitas Salin, yang menyajikan ikhtisar umum tentang Aktivitas Salin.

Tip

Untuk skenario migrasi data dari Netezza ke Azure, pelajari lebih lanjut dari Menggunakan Azure Data Factory untuk melakukan migrasi data dari server Netezza lokal ke Azure.

Kemampuan yang didukung

Konektor Netezza ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Aktivitas penyalinan (sumber/-) ① ②
Aktivitas pencarian ① ②

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Untuk daftar penyimpanan data yang didukung Aktivitas Salin sebagai sumber dan sink, lihat Penyimpanan dan format data yang didukung.

Konektor Netezza mendukung penyalinan paralel dari sumber. Lihat bagian Penyalinan paralel dari Netezza untuk detailnya.

Layanan ini menyediakan driver bawaan untuk mengaktifkan konektivitas. Anda tidak perlu menginstal driver apa pun secara manual untuk menggunakan konektor ini.

Prasyarat

Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda harus mengonfigurasi runtime integrasi yang dihosting sendiri untuk menghubungkannya.

Jika penyimpanan data Anda adalah layanan data cloud terkelola, Anda dapat menggunakan Azure Integration Runtime. Jika akses dibatasi untuk IP yang disetujui dalam aturan firewall, Anda dapat menambahkan IP Azure Integration Runtime ke daftar izinkan.

Anda juga dapat menggunakan fitur runtime integrasi jaringan virtual terkelola di Azure Data Factory untuk mengakses jaringan lokal tanpa menginstal dan mengonfigurasi runtime integrasi yang dihosting sendiri.

Untuk informasi selengkapnya tentang mekanisme dan opsi keamanan jaringan yang didukung oleh Data Factory, lihat Strategi akses data.

Mulai

Anda dapat membuat alur yang menggunakan aktivitas penyalinan dengan menggunakan .NET SDK, Python SDK, Azure PowerShell, REST API, atau templat Azure Resource Manager. Lihat tutorial Aktivitas Salin untuk petunjuk langkah demi langkah untuk membuat alur dengan aktivitas penyalinan.

Membuat layanan tertaut ke Netezza menggunakan antarmuka pengguna

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Netezza di antarmuka pengguna portal Microsoft Azure.

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:

  2. Cari Netezza dan pilih konektor Netezza.

    Screenshot of the Netezza connector.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Screenshot of linked service configuration for Netezza.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang dapat Anda gunakan untuk menentukan entitas Data Factory khusus untuk konektor Netezza.

Properti layanan tertaut

Properti berikut didukung untuk layanan tertaut Netezza:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur keNetezza. Ya
connectionString String koneksi ODBC untuk menyambung ke Netezza.
Anda juga dapat menyimpan kata sandi di Azure Key Vault dan mengeluarkan konfigurasi pwd dari string koneksi. Lihat sampel berikut dan artikel Menyimpan info masuk di Azure Key Vault untuk detail selengkapnya.
Ya
connectVia Integration Runtime digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Integration Runtime Azure default digunakan. Tidak

String koneksi biasanya adalah Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>. Tabel berikut ini menjelaskan lebih banyak properti yang dapat Anda atur:

Properti Deskripsi Wajib diisi
SecurityLevel Tingkat keamanan yang digunakan driver untuk koneksi ke penyimpanan data. Driver mendukung koneksi SSL dengan autentikasi satu arah menggunakan SSL versi 3.
Contoh: SecurityLevel=preferredSecured. Nilai yang didukung adalah:
- Hanya tidak aman (onlyUnSecured): Driver tidak menggunakan SSL.
- Tidak aman yang disukai (preferredUnSecured) (default): Jika server memberikan pilihan, driver tidak menggunakan SSL.
- Aman yang disukai (preferredSecured): Jika server memberikan pilihan, driver menggunakan SSL.
- Hanya aman (onlySecured): Driver tidak tersambung kecuali ada koneksi SSL tersedia.
Tidak
CaCertFile Jalur lengkap ke sertifikat SSL yang digunakan oleh server. Contoh: CaCertFile=<cert path>; Ya, jika SSL diaktifkan

Contoh

{
    "name": "NetezzaLinkedService",
    "properties": {
        "type": "Netezza",
        "typeProperties": {
            "connectionString": "Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Contoh: simpan kata sandi di Azure Key Vault

{
    "name": "NetezzaLinkedService",
    "properties": {
        "type": "Netezza",
        "typeProperties": {
            "connectionString": "Server=<server>;Port=<port>;Database=<database>;UID=<user name>;",
            "pwd": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Properti himpunan data

Bagian ini menyediakan daftar properti yang didukung kumpulan data Netezza.

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat Himpunan Data.

Untuk menyalin data dari Netezza, atur properti jenis himpunan data ke NetezzaTable. Berikut adalah properti yang didukung:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke: NetezzaTable Ya
skema Nama skema. Tidak (jika "kueri" di sumber aktivitas ditentukan)
tabel Nama tabel. Tidak (jika "kueri" di sumber aktivitas ditentukan)
tableName Nama tabel dengan skema. Properti ini didukung untuk kompatibilitas mundur. Untuk beban kerja baru, gunakan schema dan table. Tidak (jika "kueri" di sumber aktivitas ditentukan)

Contoh

{
    "name": "NetezzaDataset",
    "properties": {
        "type": "NetezzaTable",
        "linkedServiceName": {
            "referenceName": "<Netezza linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {}
    }
}

Properti Aktivitas Salin

Bagian ini menyediakan daftar properti yang didukung sumber data Netezza.

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat Alur.

Netezza sebagai sumber

Tip

Untuk memuat data dari Netezza secara efisien dengan menggunakan partisi data, pelajari lebih lanjut dari bagian Penyalinan paralel dari Netezza.

Untuk menyalin data dari Netezza, atur jenis sumber di Aktivitas Penyalinan ke NetezzaSource. Properti berikut ini didukung di bagian sumber Aktivitas Penyalinan:

Properti Deskripsi Wajib
jenis Properti jenis sumber Aktivitas Penyalinan harus diatur ke NetezzaSource. Ya
pertanyaan Gunakan kueri SQL kustom untuk membaca data. Contoh: "SELECT * FROM MyTable" Tidak (jika "tableName" di himpunan data ditentukan)
partitionOptions Tentukan opsi partisi data yang digunakan untuk memuat data dari Netezza.
Nilai yang diperbolehkan adalah: Tidak Ada (default), DataSlice, dan DynamicRange.
Ketika opsi partisi diaktifkan (yaitu, bukan None), tingkat paralelisme untuk memuat data secara bersamaan dari Netezza dikendalikan oleh pengaturan parallelCopies pada aktivitas penyalinan.
Tidak
partitionSettings Tentukan grup pengaturan untuk pemartisian data.
Terapkan saat opsi partisi bukan None.
Tidak
partitionColumnName Tentukan nama kolom sumber dalam jenis bilangan bulat yang akan digunakan oleh partisi rentang untuk penyalinan paralel. Jika tidak ditentukan, kunci utama tabel terdeteksi secara otomatis dan digunakan sebagai kolom partisi.
Terapkan saat opsi partisi adalah DynamicRange. Jika Anda menggunakan kueri untuk mengambil data sumber, kaitkan ?AdfRangePartitionColumnName di klausul WHERE. Lihat contoh di bagian Penyalinan paralel dari Netezza.
Tidak
partitionUpperBound Nilai maksimum kolom partisi untuk menyalin data.
Terapkan saat opsi partisi adalah DynamicRange. Jika Anda menggunakan kueri untuk mengambil data sumber, kaitkan ?AdfRangePartitionUpbound di klausa WHERE. Sebagai contoh, lihat bagian Penyalinan paralel dari Netezza.
Tidak
partitionLowerBound Nilai minimum kolom partisi untuk menyalin data.
Terapkan saat opsi partisi adalah DynamicRange. Jika Anda menggunakan kueri untuk mengambil data sumber, kaitkan ?AdfRangePartitionLowbound di klausul WHERE. Sebagai contoh, lihat bagian Penyalinan paralel dari Netezza.
Tidak

Contoh:

"activities":[
    {
        "name": "CopyFromNetezza",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Netezza input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "NetezzaSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Penyalinan paralel dari Netezza

Konektor Netezza Data Factory menyediakan partisi data bawaan untuk menyalin data dari Netezza secara paralel. Anda dapat menemukan opsi pemartisian data pada tabel Sumber aktivitas salin.

Screenshot of partition options

Saat Anda mengaktifkan penyalinan terpartisi, Data Factory menjalankan kueri paralel terhadap sumber Netezza Anda untuk memuat data menurut partisi. Derajat paralel dikendalikan oleh pengaturan parallelCopies pada aktivitas salin. Misalnya, jika Anda mengatur parallelCopies ke empat, Data Factory secara bersamaan membuat dan menjalankan empat kueri berdasarkan opsi dan pengaturan partisi yang ditentukan, dan setiap kueri mengambil sebagian data dari database Netezza Anda.

Sebaiknya Anda mengaktifkan penyalinan paralel dengan partisi data terutama ketika Anda memuat sejumlah besar data dari database Netezza Anda. Berikut ini adalah konfigurasi yang disarankan untuk skenario yang berbeda. Saat menyalin data ke penyimpanan data berbasis file, disarankan untuk menulis ke satu folder sebagai beberapa file (hanya tentukan nama folder), dalam hal ini, performanya lebih baik daripada menulis ke satu file.

Skenario Pengaturan yang disarankan
Pemuatan penuh dari tabel besar. Opsi partisi: Potongan Data.

Selama eksekusi, Data Factory secara otomatis mengatur partisi data berdasarkan potongan data bawaan Netezza, dan menyalin data berdasarkan partisi.
Memuat sejumlah besar data dengan menggunakan kueri kustom. Opsi partisi: Potongan Data.
Kueri: SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>.
Saat eksekusi, Data Factory menggantikan ?AdfPartitionCount (dengan nomor salinan paralel yang diatur pada aktivitas penyalinan) dan ?AdfDataSliceCondition dengan logika partisi potongan data, dan mengirimnya ke Netezza.
Muat data dalam jumlah besar dengan menggunakan kueri kustom, yang memiliki kolom bilangan bulat dengan nilai yang terdistribusi secara merata untuk partisi rentang. Opsi partisi: Partisi rentang dinamis.
Kueri: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Kolom partisi: Menentukan kolom yang digunakan untuk mempartisi data. Anda dapat mempartisi kolom dengan jenis data bilangan bulat.
Batas atas partisi dan batas bawah partisi: Tentukan apakah Anda ingin memfilter kolom partisi untuk mengambil data hanya dari antara rentang bawah dan atas.

Saat eksekusi, Data Factory mengganti ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound, dan ?AdfRangePartitionLowbound dengan nama kolom dan rentang nilai aktual untuk setiap partisi, dan mengirimnya ke Netezza.
Misalnya, jika kolom partisi “ID” Anda diatur dengan batas bawah 1 dan batas atas 80, penyalinan paralel 4, layanan mengambil data dengan 4 partisi. ID-nya masing-masing antara [1, 20], [21, 40], [41, 60], dan [61, 80].

Contoh: kueri dengan partisi potongan data

"source": {
    "type": "NetezzaSource",
    "query": "SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>",
    "partitionOption": "DataSlice"
}

Contoh: kueri dengan partisi rentang dinamis

"source": {
    "type": "NetezzaSource",
    "query": "SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<dynamic_range_partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column>",
        "partitionLowerBound": "<lower_value_of_partition_column>"
    }
}

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Untuk daftar penyimpanan data yang didukung Aktivitas Salin sebagai sumber dan sink, lihat Penyimpanan dan format data yang didukung.