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

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:

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.

  1. 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:

  2. Keresse meg az Amazont, és válassza ki az Amazon Redshift-összekötőt.

    Select the Amazon Redshift connector.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.

    Configure a linked service to Amazon Redshift.

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

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

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.