Copiare dati da Amazon Redshift usando Azure Data FactoryCopy data from Amazon Redshift using Azure Data Factory

Questo articolo illustra come usare l'attività di copia in Azure Data Factory per copiare dati da Amazon Redshift.This article outlines how to use the Copy Activity in Azure Data Factory to copy data from an Amazon Redshift. Si basa sull'articolo di panoramica dell'attività di copia che presenta una panoramica generale sull'attività di copia.It builds on the copy activity overview article that presents a general overview of copy activity.

Funzionalità supportateSupported capabilities

Questo connettore Amazon per la porta di spostamento è supportato per le attività seguenti:This Amazon Redshift connector is supported for the following activities:

È possibile copiare dati da Amazon Redshift a qualsiasi archivio dati di sink supportato.You can copy data from Amazon Redshift to any supported sink data store. Per un elenco degli archivi dati supportati come origini/sink dall'attività di copia, vedere la tabella relativa agli archivi dati supportati.For a list of data stores that are supported as sources/sinks by the copy activity, see the Supported data stores table.

In particolare, il connettore Amazon Redshift supporta il recupero di dati da Redshift mediante l'uso di query o dello strumento UNLOAD Redshift.Specifically, this Amazon Redshift connector supports retrieving data from Redshift using query or built-in Redshift UNLOAD support.

Suggerimento

Per ottenere prestazioni ottimali quando si copiano grandi quantità di dati da Redshift, è possibile usare lo strumento UNLOAD Redshift predefinito tramite Amazon S3.To achieve the best performance when copying large amounts of data from Redshift, consider using the built-in Redshift UNLOAD through Amazon S3. Per informazioni dettagliate, vedere la sezione Usare UNLOAD per copiare i dati da Amazon Redshift.See Use UNLOAD to copy data from Amazon Redshift section for details.

PrerequisitiPrerequisites

IntroduzioneGetting started

È possibile usare l'attività di copia con una pipeline tramite uno degli strumenti o degli SDK seguenti.You can use one of the following tools or SDKs to use the copy activity with a pipeline. Per istruzioni dettagliate, selezionare un collegamento:Select a link for step-by-step instructions:

Le sezioni seguenti riportano informazioni dettagliate sulle proprietà che vengono usate per definire entità di Data Factory specifiche per il connettore Amazon Redshift.The following sections provide details about properties that are used to define Data Factory entities specific to Amazon Redshift connector.

Proprietà del servizio collegatoLinked service properties

Per il servizio collegato di Amazon Redshift sono supportate le proprietà seguenti:The following properties are supported for Amazon Redshift linked service:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type deve essere impostata su: AmazonRedshiftThe type property must be set to: AmazonRedshift Yes
serverserver Indirizzo IP o nome host del server Amazon Redshift.IP address or host name of the Amazon Redshift server. Yes
portport Il numero della porta TCP che il server Amazon Redshift usa per ascoltare le connessioni client.The number of the TCP port that the Amazon Redshift server uses to listen for client connections. No, il valore predefinito è 5439No, default is 5439
databasedatabase Nome del database Amazon Redshift.Name of the Amazon Redshift database. Yes
usernameusername Nome dell'utente che ha accesso al database.Name of user who has access to the database. Yes
passwordpassword La password per l'account utente.Password for the user account. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro in Azure Data Factory oppure fare riferimento a un segreto archiviato in Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. Yes
connectViaconnectVia Il runtime di integrazione da usare per la connessione all'archivio dati.The Integration Runtime to be used to connect to the data store. È possibile usare il runtime di integrazione di Azure o il runtime di integrazione self-hosted (se l'archivio dati si trova in una rete privata).You can use Azure Integration Runtime or Self-hosted Integration Runtime (if your data store is located in private network). Se non specificato, viene usato il runtime di integrazione di Azure predefinito.If not specified, it uses the default Azure Integration Runtime. NoNo

Esempio:Example:

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

Proprietà del set di datiDataset properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione di set di dati, vedere l'articolo sui set di dati.For a full list of sections and properties available for defining datasets, see the datasets article. Questa sezione presenta un elenco delle proprietà supportate dal set di dati Amazon Redshift.This section provides a list of properties supported by Amazon Redshift dataset.

Per copiare i dati da Amazon spostamento, sono supportate le proprietà seguenti:To copy data from Amazon Redshift, the following properties are supported:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type del set di dati deve essere impostata su: AmazonRedshiftTableThe type property of the dataset must be set to: AmazonRedshiftTable Yes
schemaschema Nome dello schema.Name of the schema. No (se nell'origine dell'attività è specificato "query")No (if "query" in activity source is specified)
tabletable Nome della tabella.Name of the table. No (se nell'origine dell'attività è specificato "query")No (if "query" in activity source is specified)
tableNametableName Nome della tabella con schema.Name of the table with schema. Questa proprietà è supportata per compatibilità con le versioni precedenti.This property is supported for backward compatibility. Usare schema etable per il nuovo carico di lavoro.Use schema and table for new workload. No (se nell'origine dell'attività è specificato "query")No (if "query" in activity source is specified)

EsempioExample

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

Se si usa RelationalTable un set di dati tipizzato, è ancora supportato così com'è, mentre si consiglia di usare quello nuovo in futuro.If you were using RelationalTable typed dataset, it is still supported as-is, while you are suggested to use the new one going forward.

Proprietà dell'attività di copiaCopy activity properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline.For a full list of sections and properties available for defining activities, see the Pipelines article. Questa sezione presenta un elenco delle proprietà supportate dall'origine Amazon Redshift.This section provides a list of properties supported by Amazon Redshift source.

Amazon Redshift come origineAmazon Redshift as source

Per copiare dati da Amazon Redshift, impostare il tipo di origine nell'attività di copia su AmazonRedshiftSource.To copy data from Amazon Redshift, set the source type in the copy activity to AmazonRedshiftSource. Nella sezione origine dell'attività di copia sono supportate le proprietà seguenti:The following properties are supported in the copy activity source section:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type dell'origine di attività di copia deve essere impostata su: AmazonRedshiftSourceThe type property of the copy activity source must be set to: AmazonRedshiftSource Yes
queryquery Usare la query personalizzata per leggere i dati.Use the custom query to read data. Ad esempio: selezionare * da MyTable.For example: select * from MyTable. No (se nel set di dati è specificato "tableName")No (if "tableName" in dataset is specified)
redshiftUnloadSettingsredshiftUnloadSettings Gruppo di proprietà quando si usa lo strumento UNLOAD di Amazon Redshift.Property group when using Amazon Redshift UNLOAD. NoNo
s3LinkedServiceNames3LinkedServiceName Fa riferimento a un'istanza di Amazon S3 da usare come archivio provvisorio specificando un nome di servizio collegato di tipo "AmazonS3".Refers to an Amazon S3 to-be-used as an interim store by specifying a linked service name of "AmazonS3" type. Sì, se si usa UNLOADYes if using UNLOAD
bucketNamebucketName Indicare il bucket S3 per archiviare i dati provvisori.Indicate the S3 bucket to store the interim data. Se non viene specificato, il servizio Data Factory lo genera automaticamente.If not provided, Data Factory service generates it automatically. Sì, se si usa UNLOADYes if using UNLOAD

Esempio: origine Amazon Redshift nell'attività di copia usando UNLOADExample: Amazon Redshift source in copy activity using UNLOAD

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

Per altre informazioni su come usare UNLOAD per copiare in modo efficiente dati da Amazon Redshift, vedere la sezione successiva.Learn more on how to use UNLOAD to copy data from Amazon Redshift efficiently from next section.

Usare UNLOAD per copiare i dati da Amazon RedshiftUse UNLOAD to copy data from Amazon Redshift

UNLOAD è un meccanismo fornito da Amazon Redshift, che consente di scaricare i risultati di una query in uno o più file in Amazon Simple Storage Service (Amazon S3).UNLOAD is a mechanism provided by Amazon Redshift, which can unload the results of a query to one or more files on Amazon Simple Storage Service (Amazon S3). Si tratta del metodo consigliato da Amazon per la copia di set di dati di grandi dimensioni da Redshift.It is the way recommended by Amazon for copying large data set from Redshift.

Esempio: copiare dati da Amazon Redshift in Azure SQL Data Warehouse usando UNLOAD, la copia di staging e PolyBaseExample: copy data from Amazon Redshift to Azure SQL Data Warehouse using UNLOAD, staged copy and PolyBase

Per questo caso d'uso di esempio, l'attività di copia scarica i dati da Amazon Redshift in Amazon S3 come configurato in "redshiftUnloadSettings", quindi copia i dati da Amazon S3 in BLOB di Azure, come specificato in "stagingSettings", e infine usa PolyBase per caricare i dati in SQL Data Warehouse.For this sample use case, copy activity unloads data from Amazon Redshift to Amazon S3 as configured in "redshiftUnloadSettings", and then copy data from Amazon S3 to Azure Blob as specified in "stagingSettings", lastly use PolyBase to load data into SQL Data Warehouse. Tutto il formato provvisorio viene gestito correttamente dall'attività di copia.All the interim format is handled by copy activity properly.

Flusso di lavoro di copia da Redshift a SQL Data Warehouse

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

Mapping del tipo di dati di Amazon RedshiftData type mapping for Amazon Redshift

Quando si copiano dati da Amazon Redshift, vengono usati i mapping seguenti tra i tipi di dati Amazon Redshift e i tipi di dati provvisori di Azure Data Factory.When copying data from Amazon Redshift, the following mappings are used from Amazon Redshift data types to Azure Data Factory interim data types. Vedere Mapping dello schema e del tipo di dati per informazioni su come l'attività di copia esegue il mapping dello schema di origine e del tipo di dati al sink.See Schema and data type mappings to learn about how copy activity maps the source schema and data type to the sink.

Tipo di dati di Amazon RedshiftAmazon Redshift data type Tipo di dati provvisori di Data FactoryData factory interim data type
BIGINTBIGINT Int64Int64
BOOLEANBOOLEAN stringString
CHARCHAR stringString
DATEDATE DateTimeDateTime
DECIMALDECIMAL DecimalDecimal
DOUBLE PRECISIONDOUBLE PRECISION DoubleDouble
INTEGERINTEGER Int32Int32
REALREAL SingleSingle
SMALLINTSMALLINT Int16Int16
TEXTTEXT StringString
TIMESTAMPTIMESTAMP DateTimeDateTime
VARCHARVARCHAR StringString

Proprietà attività di ricercaLookup activity properties

Per informazioni dettagliate sulle proprietà, controllare l' attività di ricerca.To learn details about the properties, check Lookup activity.

Passaggi successiviNext steps

Per un elenco degli archivi dati supportati come origini o sink dall'attività di copia in Azure Data Factory, vedere gli archivi dati supportati.For a list of data stores supported as sources and sinks by the copy activity in Azure Data Factory, see supported data stores.