Azure Data Factory veya Synapse Analytics kullanarak Amazon Redshift'ten veri kopyalama

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

İpucu

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Bu makalede, Amazon Redshift'ten veri kopyalamak için Azure Data Factory ve Synapse Analytics işlem hatlarında Kopyalama Etkinliği'nin nasıl kullanılacağı özetlenmiştir. Kopyalama etkinliğine genel bakış makalesinde, kopyalama etkinliğinin genel bir tanımı sunulur ve bu makalenin üzerine inşa edilir.

Uyarı

Bu bağlayıcı Microsoft Fabric'daki Data Factory'de de kullanılabilir. Fabric özgü yapılandırma ve özellikler için Fabric Amazon Redshift bağlayıcısı belgelerine bakın.

Önemli

Amazon Redshift bağlayıcısı sürüm 1.0 kaldırma aşamasındadır. Amazon Redshift bağlayıcısını sürüm 1.0'dan 2.0'a yükseltmeniz önerilir.

Desteklenen özellikler

Bu Amazon Redshift bağlayıcısı aşağıdaki özellikler için desteklenir:

Desteklenen özellikler Kızılötesi
Kopyalama etkinliği (kaynak/-) (1) (2)
Arama etkinliği (1) (2)

(1) Azure tümleştirme çalışma zamanı (2) Yerel barındırılan tümleştirme çalışma zamanı

Kopyalama etkinliği tarafından kaynak veya havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.

Hizmet, bağlantıyı etkinleştirmek için yerleşik bir sürücü sağlar, bu nedenle herhangi bir sürücüyü el ile yüklemeniz gerekmez.

Amazon Redshift bağlayıcısı sorgu veya yerleşik Redshift UNLOAD desteği kullanarak Redshift'ten veri almayı destekler.

Bağlayıcı, bu article Windows sürümlerini destekler.

İpucu

Redshift'ten büyük miktarda veri kopyalarken en iyi performansı elde etmek için Yerleşik Redshift UNLOAD'ı Amazon S3 aracılığıyla kullanmayı göz önünde bulundurun. Ayrıntılar için Amazon Redshift'ten veri kopyalamak için UNLOAD kullanma bölümüne bakın.

Önkoşullar

Self tarafından barındırılan Integration Runtime kullanarak verileri şirket içi veri deposuna kopya ediyorsanız, Integration Runtime (makinenin IP adresini kullanın) Amazon Redshift kümesine erişim verin. Talimatlar için Kümeye erişimi yetkilendirme bölümüne bakınız. Sürüm 2.0 için kendi kendine barındırılan entegrasyon çalıştırma zamanı sürümünüz 5.60 veya üzeri olmalıdır.

Verileri bir Azure veri deposuna kopya ediyorsanız, Azure veri merkezleri tarafından kullanılan İşlem IP adresi ve SQL aralıkları için bkz. Azure Veri Merkezi IP Aralıkları.

Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa, izin verme listesine Azure Integration Runtime IP ekleyebilirsiniz.

Şirket içi ağa erişmek için, şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan Azure Data Factory yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.

Başlarken

Kopyalama etkinliğini bir işlem hattıyla gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:

Kullanıcı arabirimini kullanarak Amazon Redshift'e bağlı hizmet oluşturma

Azure portalı kullanıcı arabiriminde Amazon Redshift'e bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.

  1. Azure Data Factory veya Synapse çalışma alanınızdaki Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:

     Azure Data Factory UI ile yeni bir bağlı hizmet oluşturun.

  2. Amazon için arama yapın ve Amazon Redshift bağlayıcısını seçin.

    Amazon Redshift bağlayıcısını seçin.

  3. Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.

    Amazon Redshift'e bağlı bir hizmet yapılandırın.

Bağlayıcı yapılandırma ayrıntıları

Aşağıdaki bölümlerde, Amazon Redshift bağlayıcısına özgü Data Factory varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.

Bağlı hizmet özellikleri

Amazon Redshift bağlı hizmeti için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
Tip Tür özelliği şu şekilde ayarlanmalıdır: AmazonRedshift Evet
Sürüm Belirttiğiniz sürüm. Sürüm 2.0 için evet.
sunucu Amazon Redshift sunucusunun IP adresi veya ana bilgisayar adı. Evet
liman Amazon Redshift sunucusunun istemci bağlantılarını dinlemek için kullandığı TCP bağlantı noktasının sayısı. Hayır, varsayılan değer 5439'dur
veritabanı Amazon Redshift veritabanının adı. Evet
kullanıcı adı Veritabanına erişimi olan kullanıcının adı. Evet
şifre Kullanıcı hesabının parolası. Bu alanı güvenli bir şekilde depolamak için SecureString olarak işaretleyin veya Azure Key Vault içinde depolanan bir gizli anahtara referans verin. Evet
sslmode Amazon Redshift'e bağlanırken kullanılacak SSL sertifikası doğrulama modu. Bu özellik yalnızca sürüm 2.0'da desteklenir.
- Verify_full: Yalnızca SSL, güvenilen bir sertifika yetkilisi ve sertifikayla eşleşen bir sunucu adı kullanarak bağlanın.
- Verify_ca: Yalnızca SSL ve güvenilen bir sertifika yetkilisi kullanarak bağlanın.
- Gerekli: Yalnızca SSL kullanarak bağlanın.
- Tercih edilen: Varsa SSL kullanarak bağlanın. Aksi takdirde SSL kullanmadan bağlanın.
- İzin verilir: Varsayılan olarak SSL kullanmadan bağlanın. Sunucu SSL bağlantıları gerektiriyorsa SSL kullanın.
- Devre dışı: SSL kullanmadan bağlanın.
Seçenekler: verify-full (Varsayılan) / verify-ca / require / prefer / allow / disable
Hayır, varsayılan değer verify-full
connectVia Veri deposuna bağlanmak için kullanılacak Integration Runtime. Azure Integration Runtime veya Özel barındırılan Integration Runtime'ı kullanabilirsiniz (eğer veri deponuz özel bir ağda bulunuyorsa). Belirtilmezse, varsayılan Azure Integration Runtime kullanır. Hayır

Uyarı

Sürüm 2.0, Azure Entegrasyon Çalışma Zamanı ve Öz Barındırılan Entegrasyon Çalışma Zamanı sürüm 5.60 veya üzerini destekler. Şirket içinde barındırılan Integration Runtime sürüm 5.60 veya üzeri ile sürücü yüklemesi artık gerekli değildir.

Örnek: sürüm 2.0

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

Örnek: sürüm 1.0

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

Veri kümesi özellikleri

Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için veri kümeleri makalesine bakın. Bu bölümde Amazon Redshift veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.

Amazon Redshift'ten veri kopyalamak için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
Tip Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: AmazonRedshiftTable Evet
şema Şemanın adı. Hayır (etkinlik kaynağında "sorgu" belirtilirse)
tablo Tablonun adı. Hayır (etkinlik kaynağında "sorgu" belirtilirse)
tabloAdı Şema içeren tablonun adı. Bu özellik geriye dönük uyumluluk için desteklenir. Yeni iş yükü için schema ve table kullanın. Hayır (etkinlik kaynağında "sorgu" belirtilirse)

Örnek

{
    "name": "AmazonRedshiftDataset",
    "properties":
    {
        "type": "AmazonRedshiftTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Amazon Redshift linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Eğer RelationalTable yazılı veri kümesini kullanıyorsanız, bu veri kümesi olduğu gibi desteklenmeye devam ederken, gelecekte yeni bir veri kümesi kullanmanız önerilir.

Kopyalama etkinliği özellikleri

Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Pipelines makalesine bakın. Bu bölümde Amazon Redshift kaynağı tarafından desteklenen özelliklerin listesi sağlanır.

Kaynak olarak Amazon Redshift

Amazon Redshift'ten veri kopyalamak için kopyalama etkinliğindeki kaynak türünü AmazonRedshiftSource olarak ayarlayın. Kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
Tip Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: AmazonRedshiftSource Evet
soru Verileri okumak için özel sorguyu kullanın. Örneğin: MyTable'dan * öğesini seçin. Hayır (veri kümesinde "tableName" belirtilirse)
Redshift Boşaltma Ayarları Amazon Redshift UNLOAD kullanılırken özellik grubu. Hayır
s3LinkedServiceName "AmazonS3" türüne bağlı bir hizmet adı belirterek geçici mağaza olarak kullanılacak bir Amazon S3'e başvurur. UNLOAD kullanıyorsanız Evet
bucketName (kova adı) Geçici verileri depolamak için S3 bucket'ını belirtin. Sağlanmazsa, hizmet onu otomatik olarak oluşturur. UNLOAD kullanıyorsanız Evet

Örnek: UNLOAD kullanarak kopyalama etkinliğinde Amazon Redshift kaynağı

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

Sonraki bölümden Amazon Redshift'ten verileri verimli bir şekilde kopyalamak için UNLOAD'ı kullanma hakkında daha fazla bilgi edinin.

Amazon Redshift'ten veri kopyalamak için UNLOAD kullanma

UNLOAD , Amazon Redshift tarafından sağlanan ve bir sorgunun sonuçlarını Amazon Simple Storage Service'teki (Amazon S3) bir veya daha fazla dosyaya kaldırabilen bir mekanizmadır. Büyük veri kümesini Redshift'ten kopyalamak için Amazon tarafından önerilen yöntemdir.

Example: UNLOAD, aşamalı kopyalama ve PolyBase kullanarak Amazon Redshift'ten Azure Synapse Analytics'a veri kopyalama

Bu örnek kullanım örneği için kopyalama etkinliği, "redshiftUnloadSettings" içinde yapılandırıldığı gibi Amazon Redshift'ten Amazon S3'e veri kaldırır ve ardından "stagingSettings" içinde belirtildiği gibi Verileri Amazon S3'ten Azure Blob'a kopyalar, son olarak Azure Synapse Analytics'a veri yüklemek için PolyBase'i kullanır. Tüm geçici format, kopyalama etkinliği tarafından düzgün şekilde işlenir.

Redshift'ten Azure Synapse Analytics'e kopyalama iş akışı

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

Amazon Redshift için veri türü eşlemesi

Amazon Redshift'ten veri kopyaladığınızda, aşağıdaki eşlemeler Amazon Redshift'in veri türlerinden hizmet tarafından kullanılan iç veri türlerine uygulanır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri.

Amazon Redshift veri türü Ara hizmet veri türü (sürüm 2.0 için) Ara hizmet veri türü (sürüm 1.0 için)
BIGINT Int64 Int64
boolean Boolean (Boole Mantığı) Dize
CHAR Dize Dize
TARİH Tarih ve Saat Tarih ve Saat
ONDALıK (Hassasiyet <= 28) Ondalık Ondalık
ONDALIK (Hassasiyet > 28) Dize Dize
ÇİFT KESİNLIK Çift (Double) Çift (Double)
TAM SAYI Int32 Int32
GERÇEK Tek Tek
SMALLINT (Küçük Tamsayı) Int16 Int16
METİN Dize Dize
ZAMAN DAMGASI Tarih ve Saat Tarih ve Saat
VARCHAR Dize Dize

Arama etkinliği özellikleri

Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.

Amazon Redshift bağlayıcısı yaşam döngüsü ve yükseltmesi

Aşağıdaki tabloda Amazon Redshift bağlayıcısının farklı sürümleri için sürüm aşaması ve değişiklik günlükleri gösterilmektedir:

Sürüm Yayın aşaması Değişiklik Kaydı
Sürüm 1.0 Destek sonu duyuruldu /
Sürüm 2.0 Ga sürümü kullanılabilir • Azure Integration Runtime ve Yerel olarak barındırılan Integration Runtime sürüm 5.60 veya üzerini destekler. Şirket içinde barındırılan Integration Runtime sürüm 5.60 veya üzeri ile sürücü yüklemesi artık gerekli değildir.

• BOOLEAN, Boole veri türü olarak okunur.

• Bağlı hizmette sslmode desteği.

Amazon Redshift bağlayıcısını sürüm 1.0'dan sürüm 2.0'a yükseltme

  1. Bağlı hizmeti düzenle sayfasında sürüm 2.0'ı seçin ve bağlı hizmet özelliklerine başvurarak bağlı hizmeti yapılandırın.

  2. Amazon Redshift bağlı hizmet sürümü 2.0 için veri türü eşlemesi, sürüm 1.0'dan farklıdır. En son veri türü eşlemesini öğrenmek için bkz. Amazon Redshift için veri türü eşleme.

  3. 5.60 veya üzeri sürümlerle kendine ait tümleştirme çalışma zamanı uygulayın. Şirket içinde barındırılan Integration Runtime sürüm 5.60 veya üzeri ile sürücü yüklemesi artık gerekli değildir.

Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.