Bagikan melalui


Menyalin data dari Netezza dengan menggunakan Azure Data Factory atau Synapse Analytics

Azure Data Factory Azure Synapse Analytics

Tip

Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.

Artikel ini menguraikan cara menggunakan Copy Activity di alur Azure Data Factory atau Synapse Analytics untuk menyalin data dari Netezza. Artikel ini dibangun atas Aktivitas Menyalin, yang menyajikan ikhtisar umum mengenai Aktivitas Menyalin.

Tip

Untuk skenario migrasi data dari Netezza ke Azure, pelajari selengkapnya dari Migrate data dari server Netezza lokal ke Azure.

Important

Konektor Netezza versi 1.0 berada pada tahap penghapusan. Anda disarankan untuk meningkatkan konektor Netezza dari versi 1.0 ke 2.0.

Kemampuan yang didukung

Konektor Netezza ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Aktivitas menyalin (sumber/-) (1) (hanya untuk versi 1.0) (2)
Aktivitas pencarian (1) (hanya untuk versi 1.0) (2)

(1) Azure runtime integrasi (2) 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:

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

Untuk versi 2.0, Anda perlu menginstal driver IBM Netezza ODBC secara manual. Untuk versi 1.0, layanan menyediakan driver bawaan untuk mengaktifkan konektivitas. Anda tidak perlu menginstal driver apa pun secara manual untuk menggunakan konektor ini.

Prerequisites

Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda perlu mengonfigurasi runtime integrasi yang dihosting sendiri self-hosted integration runtime untuk menyambungkannya.

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

Untuk versi 1.0

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 yang diizinkan.

Anda juga dapat menggunakan fitur managed virtual network integration runtime di Azure Data Factory untuk mengakses jaringan di lokasi tanpa menginstal dan mengonfigurasi runtime integrasi yang dihosting sendiri.

Instal driver Netezza ODBC untuk versi 2.0

Untuk menggunakan konektor Netezza dengan versi 2.0, instal driver IBM Netezza ODBC versi 11.02.02 atau yang lebih tinggi pada komputer yang menjalankan runtime Integrasi yang dihost sendiri.

Get started

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

Membuat layanan tertaut ke Netezza menggunakan antarmuka pengguna

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Netezza di UI portal 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.

    Cuplikan layar konektor Netezza.

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

    Cuplikan layar konfigurasi layanan tertaut untuk Netezza.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang dapat Anda gunakan untuk menentukan entitas yang spesifik pada konektor Netezza.

Properti layanan terhubung

Konektor Netezza sekarang mendukung versi 2.0. Lihat bagian ini untuk meningkatkan versi konektor Netezza Anda dari versi 1.0. Untuk detail properti, lihat bagian yang sesuai.

Versi 2.0

Layanan tertaut Netezza mendukung properti berikut saat menerapkan versi 2.0:

Property Description Required
jenis Properti jenis harus diatur ke Netezza. Yes
versi Versi yang Anda tentukan. Nilainya adalah 2.0. Yes
server Nama host atau alamat IP server Netezza. Yes
port Nomor port pendengar server. Yes
database Nama database Netezza. Yes
uid ID pengguna yang digunakan untuk menyambungkan ke database. Yes
pwd Kata sandi yang digunakan untuk menyambungkan ke database. Yes
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 diutamakan (preferredUnSecured) (default): Jika server memberikan pilihan, driver tidak menggunakan SSL.
No
connectVia Integration Runtime untuk digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Anda hanya dapat menggunakan runtime integrasi yang dihost sendiri. No

Example

{
    "name": "NetezzaLinkedService",
    "properties": {
        "type": "Netezza",
        "version": "2.0",
        "typeProperties": {
            "server": "<server>",
	        "port": "<port>",
            "database": "<database>",
 		    "uid": "<username>",
		    "pwd": {
                "type": "SecureString",
                "value": "<password>"
             },
		    "securityLevel": "preferredUnSecured"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Versi 1.0

Properti berikut ini didukung untuk layanan tertaut Netezza saat menerapkan versi 1.0:

Property Description Required
jenis Properti jenis harus diatur ke Netezza. Yes
connectionString Sebuah string koneksi ODBC untuk menghubungkan ke Netezza.
Anda juga dapat memasukkan kata sandi ke dalam Azure Key Vault dan menarik konfigurasi pwd dari connection string. Lihat sampel berikut dan kredensial Store di artikel Azure Key Vault dengan detail selengkapnya.
Yes
connectVia Integration Runtime untuk digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default digunakan. No

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

Property Description Required
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 diutamakan (preferredUnSecured) (default): Jika server memberikan pilihan, driver tidak menggunakan SSL.
No

Note

Konektor tidak mendukung SSLv3 karena secara resmi tidak digunakan lagi oleh Netezza.

Example

{
    "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"
        }
    }
}

Example: menyimpan 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 kumpulan 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:

Property Description Required
jenis Properti jenis himpunan data harus diatur ke: NetezzaTable Yes
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 ke belakang. Untuk beban kerja baru, gunakan schema dan table. Tidak (jika "kueri" di sumber aktivitas ditentukan)

Example

{
    "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 Pipelines.

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:

Property Description Required
jenis Properti jenis sumber Copy Activity harus diatur ke NetezzaSource. Yes
kueri Gunakan kueri SQL kustom untuk membaca data. Contoh: "SELECT * FROM MyTable" Tidak (jika "tableName" dalam dataset 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 dari Netezza secara bersamaan diatur melalui 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

Example:

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

Cuplikan layar opsi partisi

Saat Anda mengaktifkan penyalinan terpartisi, layanan ini 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, layanan secara bersamaan membuat dan menjalankan empat kueri berdasarkan opsi dan pengaturan partisi yang Anda tentukan, 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.

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

Selama eksekusi, layanan secara otomatis mengatur partisi data berdasarkan potongan data bawaan Netezza, dan menyalin data per 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, layanan menggantikan ?AdfPartitionCount (dengan nomor salinan paralel yang diatur pada aktivitas penyalinan) dan ?AdfDataSliceCondition menggunakan logika partisi potongan data, kemudian mengirimkannya 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: Pembagian rentang yang 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 berdasarkan kolom dengan tipe 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, layanan mengganti ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound, dan ?AdfRangePartitionLowbound dengan nama kolom dan rentang nilai aktual untuk setiap partisi, dan mengirimkannya ke Netezza.
Misalnya, jika kolom partisi "ID" Anda diatur dengan batas bawah 1 dan batas atas 80, dengan penyalinan paralel diatur menjadi 4, layanan mengambil data berdasarkan 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>"
    }
}

Pemetaan jenis data untuk Netezza

Saat Anda menyalin data dari Netezza, pemetaan berikut berlaku dari jenis data Netezza ke jenis data internal yang digunakan oleh layanan. Untuk memahami bagaimana aktivitas penyalinan memetakan skema sumber dan jenis data ke tujuan, lihat Pemetaan skema dan jenis data.

Jenis data Netezza Jenis data layanan sementara (untuk versi 2.0) Jenis data layanan sementara (untuk versi 1.0)
BOOLEAN Boolean Boolean
CHAR String String
VARCHAR String String
NCHAR String String
NVARCHAR String String
DATE Date DateTime
TIMESTAMP DateTime DateTime
TIME Time TimeSpan
INTERVAL Tidak Didukung TimeSpan
WAKTU DENGAN ZONA WAKTU String String
NUMERIC(p,s) Decimal Decimal
REAL Single Single
PRESISI GANDA Double Double
INTEGER Int32 Int32
BYTEINT Int16 SByte
SMALLINT Int16 Int16
BIGINT Int64 Int64

Properti aktivitas pencarian Lookup

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Siklus hidup dan peningkatan konektor Netezza

Tabel ini menunjukkan tahap rilis dan catatan perubahan untuk berbagai versi konektor Netezza.

Version Tahap rilis Riwayat Perubahan
Versi 1.0 Removed Tidak dapat diterapkan.
Versi 2.0 Versi GA tersedia • Hanya mendukung runtime integrasi yang dihost sendiri.

• BYTEINT dibaca sebagai jenis data Int16.

• DATE dibaca sebagai tipe data Tanggal.

• TIME dibaca sebagai tipe data waktu.

• INTERVAL tidak didukung.

Tingkatkan konektor Netezza dari versi 1.0 ke versi 2.0

  1. Di halaman Edit layanan tertaut, pilih 2.0 untuk versi. Untuk informasi selengkapnya, lihat properti layanan tertaut versi 2.0.
  2. Pemetaan jenis data untuk layanan tertaut Netezza versi 2.0 berbeda dari yang untuk versi 1.0. Untuk mempelajari pemetaan jenis data terbaru, lihat Pemetaan jenis data untuk Netezza.
  3. Hanya mendukung runtime integrasi yang dihost sendiri. Azure Integration Runtime tidak didukung versi 2.0.

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