Adatok másolása az Amazon Redshiftből a Azure Data Factory vagy a Synapse Analytics használatával
A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics
Ez a cikk azt ismerteti, hogyan használhatja a másolási tevékenységet Azure Data Factory és Synapse Analytics-folyamatokban az adatok Amazon Redshiftből történő másolásához. A másolási tevékenység áttekintési cikkére épül, amely általános áttekintést nyújt a másolási tevékenységről.
Támogatott képességek
Ez az Amazon Redshift-összekötő a következő tevékenységekhez támogatott:
Az Amazon Redshiftből bármilyen támogatott fogadóadattárba másolhat adatokat. A másolási tevékenység által forrásként/fogadóként támogatott adattárak listáját a Támogatott adattárak táblában találja.
Pontosabban ez az Amazon Redshift-összekötő támogatja az adatok lekérését a Redshiftből lekérdezéssel vagy a Redshift UNLOAD beépített támogatásával.
Tipp
Ha nagy mennyiségű adat Redshiftből történő másolása során a legjobb teljesítményt szeretné elérni, fontolja meg a beépített Redshift UNLOAD használatát az Amazon S3-on keresztül. A részletekért lásd: Adatok másolása az Amazon Redshift szakaszból a UNLOAD használatával .
Előfeltételek
- Ha saját üzemeltetésű Integration Runtime használva másol adatokat egy helyszíni adattárba, adjon hozzáférést Integration Runtime (a gép IP-címének használata) az Amazon Redshift-fürthöz. Útmutatásért lásd : Hozzáférés engedélyezése a fürthöz .
- Ha adatokat másol egy Azure-adattárba, tekintse meg az Azure Data Center IP-címtartományait a számítási IP-címhez és az Azure-adatközpontok által használt SQL tartományokhoz.
Első lépések
A Copy tevékenység folyamattal való végrehajtásához az alábbi eszközök vagy SDK-k egyikét használhatja:
- Az Adatok másolása eszköz
- Az Azure Portal
- A .NET SDK
- A Python SDK
- Azure PowerShell
- A REST API
- Az Azure Resource Manager sablon
Társított szolgáltatás létrehozása az Amazon Redshifthez felhasználói felületen
Az alábbi lépésekkel létrehozhat egy társított szolgáltatást az Amazon Redshifthez a Azure Portal felhasználói felületén.
Tallózással keresse meg a Kezelés lapot a Azure Data Factory vagy a Synapse-munkaterületen, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:
Keresse meg az Amazont, és válassza ki az Amazon Redshift-összekötőt.
Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.
Összekötő konfigurációjának részletei
A következő szakaszok az Amazon Redshift-összekötőre jellemző Data Factory-entitások meghatározásához használt tulajdonságok részleteit ismertetik.
Társított szolgáltatás tulajdonságai
Az Amazon Redshift társított szolgáltatás esetében a következő tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságnak a következőre kell állítania: AmazonRedshift | Yes |
kiszolgáló | Az Amazon Redshift-kiszolgáló IP-címe vagy állomásneve. | Yes |
port | Annak a TCP-portnak a száma, amelyet az Amazon Redshift-kiszolgáló az ügyfélkapcsolatok figyelésére használ. | Nem, az alapértelmezett érték 5439 |
adatbázis | Az Amazon Redshift-adatbázis neve. | Yes |
username | Az adatbázishoz hozzáféréssel rendelkező felhasználó neve. | Yes |
jelszó | A felhasználói fiók jelszava. Jelölje meg ezt a mezőt SecureString-ként, hogy biztonságosan tárolja, vagy hivatkozzon egy Azure-Key Vault tárolt titkos kódra. | Yes |
connectVia | Az adattárhoz való csatlakozáshoz használandó Integration Runtime. Használhatja az Azure Integration Runtime vagy a saját üzemeltetésű Integration Runtime (ha az adattár privát hálózaton található). Ha nincs megadva, az alapértelmezett Azure-Integration Runtime használja. | No |
Példa
{
"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"
}
}
}
Adatkészlet tulajdonságai
Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az adathalmazokról szóló cikkben találja. Ez a szakasz az Amazon Redshift-adatkészlet által támogatott tulajdonságok listáját tartalmazza.
Az Amazon Redshift adatainak másolásához a következő tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz típustulajdonságának a következőre kell állítania: AmazonRedshiftTable | Yes |
schema | A séma neve. | Nem (ha "lekérdezés" van megadva a tevékenységforrásban) |
tábla | A tábla neve. | Nem (ha "lekérdezés" van megadva a tevékenységforrásban) |
tableName | A sémával rendelkező tábla neve. Ez a tulajdonság támogatja a visszamenőleges kompatibilitást. Új számítási feladatok használata és table használataschema . |
Nem (ha "lekérdezés" van megadva a tevékenységforrásban) |
Példa
{
"name": "AmazonRedshiftDataset",
"properties":
{
"type": "AmazonRedshiftTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Amazon Redshift linked service name>",
"type": "LinkedServiceReference"
}
}
}
Ha gépelt adathalmazt használt RelationalTable
, az továbbra is támogatott, miközben a rendszer azt javasolja, hogy az újat használja.
Másolási tevékenység tulajdonságai
A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz az Amazon Redshift-forrás által támogatott tulajdonságok listáját tartalmazza.
Amazon Redshift forrásként
Ha adatokat szeretne másolni az Amazon Redshiftből, állítsa be a másolási tevékenység forrástípusát az AmazonRedshiftSource-ra. A másolási tevékenység forrás szakasza a következő tulajdonságokat támogatja:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A másolási tevékenység forrásának típustulajdonságát a következőre kell állítani: AmazonRedshiftSource | Yes |
lekérdezés | Használja az egyéni lekérdezést az adatok olvasásához. Például: válassza a * lehetőséget a MyTable táblából. | Nem (ha a "tableName" érték meg van adva az adatkészletben) |
redshiftUnloadSettings | Tulajdonságcsoport az Amazon Redshift UNLOAD használatakor. | No |
s3LinkedServiceName | Az "AmazonS3" típusú társított szolgáltatásnév megadásával átmeneti tárolóként használandó Amazon S3-ra hivatkozik. | Igen, ha a UNLOAD függvényt használja |
bucketName | A köztes adatok tárolásához jelölje meg az S3-gyűjtőt. Ha nincs megadva, a szolgáltatás automatikusan létrehozza azt. | Igen, ha a UNLOAD függvényt használja |
Példa: Amazon Redshift-forrás másolási tevékenységben az UNLOAD használatával
"source": {
"type": "AmazonRedshiftSource",
"query": "<SQL query>",
"redshiftUnloadSettings": {
"s3LinkedServiceName": {
"referenceName": "<Amazon S3 linked service>",
"type": "LinkedServiceReference"
},
"bucketName": "bucketForUnload"
}
}
A következő szakaszból megtudhatja, hogyan másolhat adatokat hatékonyan az Amazon Redshiftből az UNLOAD használatával.
Adatok másolása az Amazon Redshiftből a UNLOAD használatával
A UNLOAD az Amazon Redshift által biztosított mechanizmus, amely eltávolítja a lekérdezés eredményeit egy vagy több fájlba az Amazon Simple Storage Service (Amazon S3) szolgáltatásban. Az Amazon ezt a módszert javasolja a nagyméretű adatkészletek Redshiftből való másolásához.
Példa: adatok másolása az Amazon Redshiftből a Azure Synapse Analyticsbe az UNLOAD, a szakaszos másolás és a PolyBase használatával
Ebben a mintahasználati esetben a másolási tevékenység eltávolítja az adatokat az Amazon Redshiftből az Amazon S3-ba a "redshiftUnloadSettings" beállításban konfigurált módon, majd adatokat másol az Amazon S3-ból az Azure Blobba az "átmeneti beállítások" részben meghatározottak szerint, végül a PolyBase használatával betölti az adatokat Azure Synapse Analyticsbe. Az összes köztes formátumot a másolási tevékenység megfelelően kezeli.
"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
}
}
]
Az Amazon Redshift adattípus-leképezése
Amikor adatokat másol az Amazon Redshiftből, az Amazon Redshift adattípusai a következő leképezéseket használják a szolgáltatáson belül használt köztes adattípusokra. A séma- és adattípus-megfeleltetésekből megtudhatja , hogyan képezi le a másolási tevékenység a forrássémát és az adattípust a fogadóra.
Amazon Redshift adattípus | Köztes szolgáltatás adattípusa |
---|---|
BIGINT | Int64 |
LOGIKAI | Sztring |
CHAR | Sztring |
DATE | DateTime |
DECIMÁLIS | Tizedesjegy |
DUPLA PONTOSSÁG | Dupla |
EGÉSZ SZÁM | Int32 |
VALÓS SZÁM | Egyirányú |
SMALLINT | Int16 |
TEXT | Sztring |
IDŐBÉLYEGZŐ | DateTime |
VARCHAR | Sztring |
Keresési tevékenység tulajdonságai
A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.
Következő lépések
A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját a támogatott adattárakban találja.