Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SE APLICA A:
Azure Data Factory
Azure Synapse Analytics
Sugerencia
Pruebe Data Factory en Microsoft Fabric, una solución de análisis integral para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y la creación de informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.
En este artículo se resume el uso de la actividad de copia en canalizaciones de Azure Data Factory y Synapse Analytics para copiar datos de Amazon Redshift. El documento se basa en el artículo de introducción a la actividad de copia que describe información general de la actividad de copia.
Importante
La versión 2.0 de Amazon Redshift proporciona compatibilidad nativa mejorada con Amazon Redshift. Si usa la versión 1.0 de Amazon Redshift en la solución, actualice el conector de Amazon Redshift, ya que la versión 1.0 está en la fase de fin de soporte. Tu canalización fallará después del 31 de marzo de 2026. Consulte esta sección para obtener más información sobre la diferencia entre la versión 2.0 y la versión 1.0.
Funcionalidades admitidas
Este conector de Amazon Redshift se admite para las siguientes características:
| Funcionalidades admitidas | IR |
|---|---|
| Actividad de copia (origen/-) | 1 2 |
| Actividad de búsqueda | 1 2 |
① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado
Consulte la tabla de almacenes de datos compatibles para ver una lista de almacenes de datos que la actividad de copia admite como orígenes o receptores.
El servicio proporciona un controlador integrado para habilitar la conectividad, por lo que no es necesario instalar manualmente ningún controlador.
El conector de Amazon Redshift admite la recuperación de datos de Redshift mediante consultas de base de datos o el soporte integrado de UNLOAD de Redshift.
El conector admite las versiones de Windows de este artículo.
Sugerencia
Para obtener el mejor rendimiento al copiar grandes cantidades de datos desde Redshift, considere usar Redshift UNLOAD integrado a través de Amazon S3. Vea la sección Uso de UNLOAD para copiar datos de Amazon Redshift para más detalles.
Requisitos previos
Si va a copiar datos a un local almacén de datos local mediante Integration Runtime autohospedado, conceda a Integration Runtime (use la dirección IP de la máquina) el acceso al clúster de Amazon Redshift. Consulte Authorize access to the cluster (Autorización para acceder al clúster) para obtener instrucciones. Para la versión 2.0, la versión del entorno de ejecución de integración autohospedado debe ser 5.61 o superior.
Si va a copiar datos a un almacén de datos de Azure, consulte Azure Data Center IP Ranges (Intervalos de direcciones IP de Azure Data Center) para ver los intervalos de direcciones IP de Compute y los intervalos SQL que se utilizan en los centros de datos de Azure.
Si el almacén de datos es un servicio de datos en la nube administrado, puede usar Azure Integration Runtime. Si el acceso está restringido a las direcciones IP que están aprobadas en las reglas de firewall, puede agregar direcciones IP de Azure Integration Runtime a la lista de permitidos.
También puede usar la característica del entorno de ejecución de integración de red virtual administrada de Azure Data Factory para acceder a la red local sin instalar ni configurar un entorno de ejecución de integración autohospedado.
Introducción
Para realizar la actividad de copia con una canalización, puede usar una de los siguientes herramientas o SDK:
- Herramienta Copiar datos
- Azure Portal
- SDK de .NET
- SDK de Python
- Azure PowerShell
- REST API
- Plantilla de Azure Resource Manager
Creación de un servicio vinculado a Amazon Redshift mediante la interfaz de usuario
Siga estos pasos para crear un servicio vinculado a Amazon Redshift en la interfaz de usuario de Azure Portal.
Vaya a la pestaña "Administrar" de su área de trabajo de Azure Data Factory o Synapse y seleccione "Servicios vinculados"; a continuación, haga clic en "Nuevo":
Busque Amazon y seleccione el conector Amazon Redshift.
Configure los detalles del servicio, pruebe la conexión y cree el servicio vinculado.
Detalles de configuración del conector
En las secciones siguientes se proporcionan detalles sobre las propiedades que se usan para definir entidades de Data Factory específicas del conector de Amazon Redshift.
Propiedades del servicio vinculado
Las siguientes propiedades son compatibles con el servicio vinculado Amazon Redshift:
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| tipo | La propiedad type debe establecerse en: AmazonRedshift. | Sí |
| version | Versión que especifique. | Sí para la versión 2.0. |
| servidor | Dirección IP o nombre de host del servidor de Amazon Redshift. | Sí |
| puerto | El número del puerto TCP que el servidor de Amazon Redshift utiliza para escuchar las conexiones del cliente. | No, el valor predeterminado es 5439 |
| base de datos | Nombre de la base de datos de Amazon Redshift. | Sí |
| nombre de usuario | Nombre del usuario que tiene acceso a la base de datos. | Sí |
| contraseña | Contraseña para la cuenta de usuario. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault. | Sí |
| connectVia | El entorno Integration Runtime que se usará para conectarse al almacén de datos. Puede usar los entornos Integration Runtime (autohospedado) (si el almacén de datos se encuentra en una red privada) o Azure Integration Runtime. Si no se especifica, se usará Azure Integration Runtime. | No |
Nota:
La versión 2.0 admite Azure Integration Runtime y Integration Runtime autohospedado versión 5.61 o posterior. La instalación del controlador ya no es necesaria con el Runtime de Integración autohospedado versión 5.61 o posterior.
Ejemplo: versión 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"
}
}
}
Ejemplo: versión 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"
}
}
}
Propiedades del conjunto de datos
Si desea ver una lista completa de las secciones y propiedades disponibles para definir conjuntos de datos, consulte el artículo sobre conjuntos de datos. En esta sección se proporciona una lista de las propiedades que el conjunto de datos de Amazon Redshift admite.
Para copiar datos de Amazon Redshift, se admiten las siguientes propiedades:
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| tipo | La propiedad type del conjunto de datos debe tener el valor AmazonRedshiftTable | Sí |
| esquema | Nombre del esquema. | No (si se especifica "query" en el origen de la actividad) |
| tabla | Nombre de la tabla. | No (si se especifica "query" en el origen de la actividad) |
| tableName | Nombre de la tabla con el esquema. Esta propiedad permite la compatibilidad con versiones anteriores. Use schema y table para la carga de trabajo nueva. |
No (si se especifica "query" en el origen de la actividad) |
Ejemplo
{
"name": "AmazonRedshiftDataset",
"properties":
{
"type": "AmazonRedshiftTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Amazon Redshift linked service name>",
"type": "LinkedServiceReference"
}
}
}
Si estaba usando un conjunto de datos de tipo RelationalTable, todavía se admite tal cual, aunque se aconseja usar el nuevo en el futuro.
Propiedades de la actividad de copia
Si desea ver una lista completa de las secciones y propiedades disponibles para definir actividades, consulte el artículo sobre canalizaciones. En esta sección se proporciona una lista de las propiedades que el origen Amazon Redshift admite.
Amazon Redshift como origen
Para copiar datos desde Amazon Redshift, establezca el tipo de origen de la actividad de copia en AmazonRedshiftSource. Se admiten las siguientes propiedades en la sección source de la actividad de copia:
| Propiedad | Descripción | Obligatorio |
|---|---|---|
| tipo | La propiedad type del origen de la actividad de copia debe establecerse en: AmazonRedshiftSource | Sí |
| Query | Utilice la consulta personalizada para leer los datos. Por ejemplo: select * from MyTable. | No (si se especifica "tableName" en el conjunto de datos) |
| redshiftUnloadSettings | Grupo de propiedades al usar Amazon Redshift UNLOAD. | No |
| s3LinkedServiceName | Hace referencia a Amazon S3 que se usa como almacenamiento provisional especificando para ello un nombre de servicio vinculado de tipo "AmazonS3". | Sí, se utiliza UNLOAD |
| nombre del bucket | Indique el depósito S3 para almacenar los datos provisionales. Si no se proporciona, el servicio lo genera automáticamente. | Sí, se utiliza UNLOAD |
Ejemplo: Origen Amazon Redshift de la actividad de copia mediante UNLOAD
"source": {
"type": "AmazonRedshiftSource",
"query": "<SQL query>",
"redshiftUnloadSettings": {
"s3LinkedServiceName": {
"referenceName": "<Amazon S3 linked service>",
"type": "LinkedServiceReference"
},
"bucketName": "bucketForUnload"
}
}
Obtenga más información en la sección siguiente sobre cómo usar UNLOAD para copiar datos desde Amazon Redshift de forma eficaz.
Uso de UNLOAD para copiar datos de Amazon Redshift
UNLOAD es un mecanismo proporcionado por Amazon Redshift, que puede descargar los resultados de una consulta a uno o varios archivos en Amazon Simple Storage Service (Amazon S3). Es la manera que Amazon recomienda para copiar el conjunto de datos grande de Redshift.
Ejemplo: copiar datos de Amazon Redshift en Azure Synapse Analytics con UNLOAD, copia almacenada provisionalmente y PolyBase
En este caso de uso de ejemplo, la actividad de copia descarga los datos de Amazon Redshift en Amazon S3 según se configura en "redshiftUnloadSettings", luego copia los datos de Amazon S3 en Azure Blob, según se especifica en "stagingSettings", y al final se usa PolyBase para cargar los datos en Azure Synapse Analytics. Todo el formato provisional es controlado como corresponde por la actividad de copia.
"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
}
}
]
Asignación de tipos de datos para Amazon Redshift
Al copiar datos de Amazon Redshift, los tipos de datos de Amazon Redshift se asignan a los tipos de datos internos utilizados por el servicio de la siguiente manera. Para más información acerca de la forma en que la actividad de copia asigna el tipo de datos y el esquema de origen al receptor, consulte el artículo sobre asignaciones de tipos de datos y esquema.
| Tipo de datos de Amazon Redshift | Tipo de datos de servicio provisional (para la versión 2.0) | Tipo de datos de servicio provisional (para la versión 1.0) |
|---|---|---|
| bigint | Int64 | Int64 |
| BOOLEANO | Boolean | Cuerda |
| CHAR | Cuerda | Cuerda |
| DATE | Fecha y hora | Fecha y hora |
| DECIMAL (Precisión <= 28) | Decimal | Decimal |
| DECIMAL (Precisión > 28) | Cuerda | Cuerda |
| doble precisión | Double | Double |
| ENTERO | Int32 | Int32 |
| real | Soltero | Soltero |
| SMALLINT | Int16 | Int16 |
| Mensaje de texto | Cuerda | Cuerda |
| TIMESTAMP | Fecha y hora | Fecha y hora |
| VARCHAR | Cuerda | Cuerda |
Propiedades de la actividad de búsqueda
Para obtener información detallada sobre las propiedades, consulte Actividad de búsqueda.
Ciclo de vida y actualización del conector de Amazon Redshift
En la tabla siguiente se muestran la fase de lanzamiento y los registros de cambios para diferentes versiones del conector de Amazon Redshift:
| Versión | Fase de lanzamiento | Registro de cambios |
|---|---|---|
| Versión 1.0 | Versión de disponibilidad general disponible | / |
| Versión 2.0 | Versión de disponibilidad general disponible | • Admite Azure Integration Runtime y Integration Runtime autohospedado de la versión 5.61 o posterior. La instalación del controlador ya no es necesaria con la versión 5.61 o posterior de Self-hosted Integration Runtime. • BOOLEAN se lee como tipo de datos booleano. |
Actualización del conector de Amazon Redshift de la versión 1.0 a la versión 2.0
En la página Editar servicio vinculado , seleccione la versión 2.0 y configure el servicio vinculado haciendo referencia a las propiedades del servicio vinculado.
La asignación de tipos de datos para la versión 2.0 del servicio vinculado de Amazon Redshift es diferente de la de la versión 1.0. Para obtener información sobre la asignación de tipos de datos más reciente, consulte Asignación de tipos de datos para Amazon Redshift.
Aplique un entorno de ejecución de integración autohospedado con la versión 5.61 o posterior. La instalación del controlador ya no es necesaria con Integration Runtime Autohospedado versión 5.61 o posterior.
Contenido relacionado
Para obtener una lista de los almacenes de datos que admite la actividad de copia como orígenes y receptores, consulte Almacenes de datos compatibles.