Azure Data Factory veya Synapse Analytics kullanarak Amazon Redshift'ten veri kopyalama
UYGULANANLAR: Azure Data Factory
Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Bu makalede, Bir Amazon Redshift'ten veri kopyalamak için Azure Data Factory ve Synapse Analytics işlem hatlarında Kopyalama Etkinliğinin nasıl kullanılacağı özetlenmiştir. Kopyalama etkinliğine genel bir genel bakış sunan kopyalama etkinliğine genel bakış makalesini oluşturur.
Desteklenen özellikler
Bu Amazon Redshift bağlayıcısı aşağıdaki özellikler için desteklenir:
Desteklenen özellikler | IR |
---|---|
Kopyalama etkinliği (kaynak/-) | (1) (2) |
Arama etkinliği | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde 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.
Özellikle, bu Amazon Redshift bağlayıcısı sorgu veya yerleşik Redshift UNLOAD desteği kullanarak Redshift'ten veri almayı 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 Bkz . Amazon Redshift'ten veri kopyalamak için UNLOAD kullanma.
Önkoşullar
- Şirket içinde barındırılan Integration Runtime kullanarak şirket içi veri deposuna veri kopya ediyorsanız, Integration Runtime'a (makinenin IP adresini kullanın) Amazon Redshift kümesine erişim verin. Yönergeler için bkz . Kümeye erişimi yetkilendirme.
- Verileri bir Azure veri deposuna kopyalanıyorsanız bkz . Azure veri merkezleri tarafından kullanılan İşlem IP adresi ve SQL aralıkları için Azure Veri Merkezi IP Aralıkları .
Başlarken
İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portal
- .NET SDK'sı
- Python SDK'sı
- Azure PowerShell
- The REST API
- Azure Resource Manager şablonu
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.
Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:
Amazon için arama yapın ve Amazon Redshift bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
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 |
---|---|---|
Tür | Tür özelliği şu şekilde ayarlanmalıdır: AmazonRedshift | Yes |
sunucu | Amazon Redshift sunucusunun IP adresi veya ana bilgisayar adı. | Yes |
port | 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 |
database | Amazon Redshift veritabanının adı. | Yes |
username | Veritabanına erişimi olan kullanıcının adı. | Yes |
password | Kullanıcı hesabının parolası. Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun. | Yes |
connectVia | Veri deposuna bağlanmak için kullanılacak Integration Runtime. Azure Integration Runtime veya Şirket İçinde Barındırılan Tümleştirme Çalışma Zamanı'nı (veri deponuz özel ağda bulunuyorsa) kullanabilirsiniz. Belirtilmezse, varsayılan Azure Integration Runtime'ı kullanır. | Hayır |
Örnek:
{
"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 |
---|---|---|
Tür | Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: AmazonRedshiftTable | Yes |
schema | Şemanın adı. | Hayır (etkinlik kaynağında "sorgu" belirtilirse) |
table | Tablonun adı. | Hayır (etkinlik kaynağında "sorgu" belirtilirse) |
tableName | Şema içeren tablonun adı. Bu özellik geriye dönük uyumluluk için desteklenir. Yeni iş yükü için ve table kullanınschema . |
Hayır (etkinlik kaynağında "sorgu" belirtilirse) |
Örnek
{
"name": "AmazonRedshiftDataset",
"properties":
{
"type": "AmazonRedshiftTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Amazon Redshift linked service name>",
"type": "LinkedServiceReference"
}
}
}
Yazılan veri kümesini kullanıyorsanız RelationalTable
, bu veri kümesi olduğu gibi desteklenirken, ileriye dönük yeni bir veri kümesini kullanmanız önerilir.
Kopyalama etkinliğinin özellikleri
Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları 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 |
---|---|---|
Tür | Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: AmazonRedshiftSource | Yes |
query | Verileri okumak için özel sorguyu kullanın. Örneğin: MyTable'dan * öğesini seçin. | Hayır (veri kümesinde "tableName" belirtilirse) |
redshiftUnloadSettings | 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 | Ara verileri depolamak için S3 demetini belirtin. Sağlanmazsa, hizmet 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.
Örnek: UNLOAD, aşamalı kopyalama ve PolyBase kullanarak Amazon Redshift'ten Azure Synapse Analytics'e 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 Verileri Azure Synapse Analytics'e yüklemek için PolyBase'i kullanır. Tüm ara biçim, kopyalama etkinliği tarafından düzgün şekilde işlenir.
"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 kopyalarken, Amazon Redshift veri türlerinden hizmet içinde dahili olarak kullanılan ara veri türlerine aşağıdaki eşlemeler kullanılı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ü |
---|---|
BIGINT | Int64 |
BOOLEAN | String |
CHAR | String |
DATE | DateTime |
ON -DA -LIK | Ondalık |
ÇIFT DUYARLıK | Çift |
TAM SAYI | Int32 |
GERÇEK | Tekli |
SMALLINT | Int16 |
METİN | String |
TIMESTAMP | DateTime |
VARCHAR | String |
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.