Menyalin data dari Amazon Redshift dengan 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 Salin di alur Azure Data Factory dan Azure Synapse Analytics untuk menyalin data dari Amazon Redshift. Artikel tersebut dibuat berdasarkan artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.

Kemampuan yang didukung

Konektor Amazon Redshift 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 sebagai sumber atau sink oleh aktivitas salin, lihat tabel Penyimpanan data yang didukung.

Secara khusus, konektor Amazon Redshift ini mendukung pengambilan data dari Redshift menggunakan dukungan kueri atau Redshift UNLOAD bawaan.

Tip

Untuk mencapai performa terbaik saat menyalin data dalam jumlah besar dari Redshift, pertimbangkan untuk menggunakan Redshift UNLOAD bawaan melalui Amazon S3. Untuk detailnya, lihat bagian Menggunakan UNLOAD untuk menyalin data dari Amazon Redshift.

Prasyarat

Memulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Membuat layanan tertaut ke Amazon Redshift menggunakan UI

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Amazon Redshift 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 Amazon dan pilih konektor Amazon Redshift.

    Select the Amazon Redshift connector.

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

    Configure a linked service to Amazon Redshift.

Detail konfigurasi konektor

Bagian berikut memberikan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk konektor Amazon Redshift.

Properti layanan tertaut

Properti berikut ini didukung untuk layanan tertaut Amazon Redshift:

Properti Deskripsi Wajib
jenis Properti ini harus diatur ke: AmazonRedshift Ya
server Alamat IP atau nama host server Amazon Redshift. Ya
pelabuhan Nomor port TCP yang digunakan server Amazon Redshift untuk mendengarkan koneksi klien. Tidak, defaultnya adalah 5439
database Nama database Amazon Redshift. Ya
Nama pengguna Nama pengguna yang memiliki akses ke database. Ya
kata sandi Kata sandi untuk akun pengguna. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau mereferensikan rahasia yang disimpan di Azure Key Vault. Ya
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan Azure Integration Runtime atau Integration Runtime yang Dihost Sendiri (jika penyimpanan data Anda berada di jaringan privat). Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. Tidak

Contoh:

{
    "name": "AmazonRedshiftLinkedService",
    "properties":
    {
        "type": "AmazonRedshift",
        "typeProperties":
        {
            "server": "<server name>",
            "database": "<database name>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel himpunan data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data Amazon Redshift.

Untuk menyalin data dari Amazon Redshift, properti berikut didukung:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke: AmazonRedshiftTable 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": "AmazonRedshiftDataset",
    "properties":
    {
        "type": "AmazonRedshiftTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Amazon Redshift linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Jika Anda menggunakan himpunan data berjenis RelationalTable, himpunan data tersebut masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru ke depannya.

Properti aktivitas salin

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber Amazon Redshift.

Amazon Redshift sebagai sumber

Untuk menyalin data dari Amazon Redshift, atur jenis sumber dalam aktivitas penyalinan ke AmazonRedshiftSource. Berikut ini properti yang didukung di bagian sumber aktivitas salin:

Properti Deskripsi Wajib
jenis Properti jenis dari sumber aktivitas penyalinan harus diatur ke AmazonRedshiftSource Ya
pertanyaan Gunakan kueri kustom untuk membaca data. Misalnya: pilih * dari MyTable. Tidak (jika "tableName" di himpunan data ditentukan)
redshiftUnloadSettings Grup properti saat menggunakan Amazon Redshift UNLOAD. Tidak
s3LinkedServiceName Mengacu pada Amazon S3 yang akan digunakan sebagai penyimpanan sementara dengan menentukan nama layanan tertaut dari jenis "AmazonS3". Ya jika menggunakan UNLOAD
bucketName Tunjukkan bucket S3 untuk menyimpan data sementara. Jika tidak disediakan, layanan akan membuatnya secara otomatis. Ya jika menggunakan UNLOAD

Contoh: Sumber Amazon Redshift dalam aktivitas penyalinan menggunakan UNLOAD

"source": {
    "type": "AmazonRedshiftSource",
    "query": "<SQL query>",
    "redshiftUnloadSettings": {
        "s3LinkedServiceName": {
            "referenceName": "<Amazon S3 linked service>",
            "type": "LinkedServiceReference"
        },
        "bucketName": "bucketForUnload"
    }
}

Pelajari lebih lanjut cara menggunakan UNLOAD untuk menyalin data dari Amazon Redshift secara efisien dari bagian berikutnya.

Menggunakan UNLOAD untuk menyalin data dari Amazon Redshift

UNLOAD adalah mekanisme yang disediakan oleh Amazon Redshift, yang dapat membongkar hasil kueri ke satu atau beberapa file di Amazon Simple Storage Service (Amazon S3). Ini adalah cara yang direkomendasikan oleh Amazon untuk menyalin kumpulan data besar dari Redshift.

Contoh: menyalin data dari Amazon Redshift ke Azure Synapse Analytics menggunakan UNLOAD, penyalinan bertahap, dan PolyBase

Untuk kasus penggunaan sampel ini, aktivitas penyalinan membongkar data dari Amazon Redshift ke Amazon S3 sebagaimana dikonfigurasi dalam "redshiftUnloadSettings", lalu menyalin data dari Amazon S3 ke Blob Azure seperti yang ditentukan dalam "stagingSettings". Terakhir, gunakan PolyBase untuk memuat data ke Azure Synapse Analytics. Semua format sementara ditangani oleh aktivitas penyalinan dengan benar.

Redshift to Azure Synapse Analytics copy workflow

"activities":[
    {
        "name": "CopyFromAmazonRedshiftToSQLDW",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "AmazonRedshiftDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "AzureSQLDWDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AmazonRedshiftSource",
                "query": "select * from MyTable",
                "redshiftUnloadSettings": {
                    "s3LinkedServiceName": {
                        "referenceName": "AmazonS3LinkedService",
                        "type": "LinkedServiceReference"
                    },
                    "bucketName": "bucketForUnload"
                }
            },
            "sink": {
                "type": "SqlDWSink",
                "allowPolyBase": true
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": "AzureStorageLinkedService",
                "path": "adfstagingcopydata"
            },
            "dataIntegrationUnits": 32
        }
    }
]

Pemetaan jenis data untuk Amazon Redshift

Saat menyalin data dari Amazon Redshift, pemetaan berikut digunakan dari jenis data Amazon Redshift ke jenis data sementara yang digunakan secara internal dalam layanan. Lihat Pemetaan skema dan jenis data untuk mempelajari bagaimana aktivitas penyalinan memetakan skema sumber dan jenis data ke sink.

Jenis data Amazon Redshift Jenis data layanan sementara
BIGINT Int64
BOOLEAN String
CHAR String
TANGGAL DateTime
DECIMAL Decimal
PRESISI GANDA Laju
INTEGER Int32
REAL Tunggal
SMALLINT Int16
TEXT String
TANDA WAKTU DateTime
VARCHAR String

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.