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/-) | (1) (2) |
Aktivitas pencarian | (1) (2) |
① 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 ini mendukung:
- Penyalinan paralel dari sumber. Lihat bagian Penyalinan paralel dari Netezza untuk detailnya.
- Netezza Performance Server versi 11.
- Versi Windows dalam artikel ini.
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.
Memulai
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.
Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:
Cari Netezza dan pilih konektor Netezza.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
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. | No |
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. Contoh: SecurityLevel=preferredUnSecured . 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. |
No |
Catatan
Konektor tidak mendukung SSLv3 karena secara resmi tidak digunakan lagi oleh Netezza.
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. |
No |
partitionSettings | Tentukan grup pengaturan untuk pemartisian data. Terapkan saat opsi partisi bukan None . |
No |
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. |
No |
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. |
No |
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. |
No |
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.
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 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.
Konten terkait
Untuk daftar penyimpanan data yang didukung Aktivitas Salin sebagai sumber dan sink, lihat Penyimpanan dan format data yang didukung.