Compartir a través de


Copia de datos de Greenplum con Azure Data Factory o Synapse Analytics

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno 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 los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

En este artículo se explica cómo usar la actividad de copia en una canalización de Azure Data Factory o Synapse Analytics para copiar datos de Greenplum. 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 1.0 del conector Greenplum está en la fase de eliminación. Se recomienda actualizar el conector Greenplum de la versión 1.0 a la 2.0.

Funcionalidades admitidas

Este conector de Greenplum es compatible con las funcionalidades siguientes:

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 tanto, no es necesario instalar manualmente ningún controlador mediante este conector.

Requisitos previos

Si el almacén de datos se encuentra en una red local, una red virtual de Azure o una nube privada virtual de Amazon, debe configurar un entorno de ejecución de integración autohospedado para conectarse a él.

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.

Consulte Estrategias de acceso a datos para más información sobre los mecanismos de seguridad de red y las opciones que admite Data Factory.

Comenzando

Para realizar la actividad de copia con una canalización, puede usar una de las siguientes herramientas o SDK:

Creación de un servicio vinculado a Greenplum mediante la interfaz de usuario

Siga estos pasos para crear un servicio vinculado a Greenplum en la interfaz de usuario de Azure Portal.

  1. Vaya a la pestaña Administrar del área de trabajo de Azure Data Factory o Synapse y seleccione Servicios vinculados; luego haga clic en Nuevo:

  2. Busque Greenplum y seleccione el conector de Greenplum.

    Captura de pantalla del conector de Greenplum.

  3. Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.

    Captura de pantalla de la configuración del servicio vinculado en Greenplum.

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

Propiedades del servicio vinculado

El conector Greenplum ahora admite la versión 2.0. Consulte esta sección para actualizar la versión del conector Greenplum desde la versión 1.0. Para obtener los detalles de la propiedad, consulte las secciones correspondientes.

Versión 2.0

El servicio vinculado Greenplum admite las siguientes propiedades cuando se aplica la versión 2.0:

Propiedad Descripción Obligatorio
tipo La propiedad type debe establecerse en: Greenplum
version Versión que especifique. El valor es 2.0.
anfitrión Especifica el nombre de host ( y, opcionalmente, el puerto ) en el que se ejecuta la base de datos.
puerto Puerto TCP del servidor de bases de datos. El valor predeterminado es 5432. No
base de datos La base de datos a la que hay que conectarse.
nombre de usuario Nombre de usuario con el que se va a conectar. No es necesario si se usa IntegratedSecurity.
contraseña Contraseña para conectarse. No es necesario si se usa IntegratedSecurity. Marque este campo como SecureString para almacenarlo de forma segura. O bien puede hacer referencia a un secreto almacenado en Azure Key Vault.
sslMode Controla si se usa SSL, en función de la compatibilidad con el servidor.
- Disable: SSL está deshabilitado. Si el servidor requiere SSL, se producirá un error en la conexión.
- Allow: se prefieren conexiones que no son SSL si el servidor las permite, pero permiten conexiones SSL.
- Prefer: se prefieren conexiones SSL si el servidor las permite, pero se permiten conexiones sin SSL.
- Require: se produce un error en la conexión si el servidor no admite SSL.
- Verify-ca: se produce un error en la conexión si el servidor no admite SSL. También comprueba el certificado de servidor.
- Verify-full: se produce un error en la conexión si el servidor no admite SSL. También comprueba el certificado de servidor con el nombre del host.
Opciones: Deshabilitar (0) / Permitir (1) / Prefer (2) / Requerir (3) (Valor predeterminado) / Verify-ca (4) / Verify-full (5)
tipo de autenticación Tipo de autenticación para conectarse a la base de datos. Solo admite Básico.
connectVia El entorno Integration Runtime que se usará para conectarse al almacén de datos. Obtenga más información en la sección Requisitos previos. Si no se especifica, se usará el Azure Integration Runtime por defecto. No
Propiedades de conexión adicionales:
tiempo de espera de conexión El tiempo de espera (en segundos) al intentar establecer una conexión antes de finalizar el intento y generar un error. El valor predeterminado es 15. No
commandTimeout El tiempo de espera (en segundos) mientras se intenta ejecutar un comando antes de terminar el intento y generar un error. Establézcalo en cero para que sea infinito. El valor predeterminado es 30. No

Ejemplo:

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "version": "2.0",
        "typeProperties": {
            "host": "<host>",
            "port": 5432,
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "sslMode": <sslmode>,
            "authenticationType": "Basic"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Ejemplo: Almacenamiento de la contraseña en Azure Key Vault

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "version": "2.0",
        "typeProperties": {
            "host": "<host>",
            "port": 5432,
            "database": "<database>",
            "username": "<username>",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            },
            "sslMode": <sslmode>,
            "authenticationType": "Basic"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Versión 1.0

El servicio vinculado Greenplum admite las siguientes propiedades cuando se aplica la versión 1.0:

Propiedad Descripción Obligatorio
tipo La propiedad type debe establecerse en: Greenplum
connectionString Cadena de conexión de ODBC para conectarse a Greenplum.
También puede colocar la contraseña en Azure Key Vault y extraer la configuración de pwd de la cadena de conexión. Consulte los siguientes ejemplos y el artículo Almacenamiento de credenciales en Azure Key Vault con información detallada.
connectVia El entorno Integration Runtime que se usará para conectarse al almacén de datos. Obtenga más información en la sección Requisitos previos. Si no se especifica, se usará el Azure Integration Runtime por defecto. No

Ejemplo:

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "typeProperties": {
            "connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Ejemplo: Almacenamiento de la contraseña en Azure Key Vault

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "typeProperties": {
            "connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;",
            "pwd": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "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 compatibles con el conjunto de datos de Greenplum.

Para copiar datos de Greenplum, establezca la propiedad type del conjunto de datos en GreenplumTable. Se admiten las siguientes propiedades:

Propiedad Descripción Obligatorio
tipo La propiedad type del conjunto de datos se debe establecer en GreenplumTable.
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": "GreenplumDataset",
    "properties": {
        "type": "GreenplumTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Greenplum linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

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 compatibles con el origen de Greenplum.

GreenplumSource como origen

Para copiar datos de Greenplum, establezca el tipo de origen de la actividad de copia en GreenplumSource. 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: GreenplumSource
Query Use la consulta SQL personalizada para leer los datos. Por ejemplo: "SELECT * FROM MyTable". No (si se especifica "tableName" en el conjunto de datos)

Ejemplo:

"activities":[
    {
        "name": "CopyFromGreenplum",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Greenplum input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GreenplumSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Asignación de tipos de datos para Greenplum

Al realizar la copia de datos desde Greenplum, se aplican los siguientes mapeos de los tipos de datos de Greenplum a los tipos de datos internos utilizados por el servicio. 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 Greenplum Tipo de datos de servicio provisional (para la versión 2.0) Tipo de datos de servicio provisional (para la versión 1.0)
SmallInt Int16 Int16
Entero Int32 Int32
BigInt Int64 Int64
Decimal (Precisión <= 28) Decimal Decimal
Decimal (precisión > 28) Decimal Cuerda
Numeric Decimal Decimal
Real Soltero Soltero
Double Double Double
SmallSerial Int16 Int16
Serial Int32 Int32
BigSerial Int64 Int64
Dinero Decimal Cuerda
Char Cuerda Cuerda
Varchar Cuerda Cuerda
Mensaje de texto Cuerda Cuerda
Bytea Byte[] Byte[]
Marca de tiempo Fecha y Hora Fecha y Hora
Marca de tiempo con zona horaria DateTimeOffset Cuerda
Fecha Fecha Fecha y Hora
Tiempo TimeSpan TimeSpan
Hora con zona horaria DateTimeOffset Cuerda
Intervalo TimeSpan Cuerda
Booleano Booleano Booleano
Punto Cuerda Cuerda
Línea Cuerda Cuerda
Iseg Cuerda Cuerda
Box Cuerda Cuerda
Ruta Cuerda Cuerda
Polygon Cuerda Cuerda
Círculo Cuerda Cuerda
Cidr Cuerda Cuerda
Inet Cuerda Cuerda
Macaddr Cuerda Cuerda
Macaddr8 Cuerda Cuerda
Tsvector Cuerda Cuerda
Tsquery Cuerda Cuerda
Identificador Único Universal (UUID) GUID GUID
Json Cuerda Cuerda
Jsonb Cuerda Cuerda
Array Cuerda Cuerda
bit Byte[] Byte[]
Bit con variación Byte[] Byte[]
XML Cuerda Cuerda
IntArray Cuerda Cuerda
TextArray Cuerda Cuerda
NumericArray Cuerda Cuerda
DateArray Cuerda Cuerda
Intervalo Cuerda Cuerda
Bpchar Cuerda Cuerda

Propiedades de la actividad de búsqueda

Para obtener información detallada sobre las propiedades, consulte Actividad de búsqueda.

Actualización del conector Greenplum

Estos son los pasos que le ayudarán a actualizar el conector de Greenplum:

  1. En la página Editar servicio vinculado , seleccione la versión 2.0 y configure el servicio vinculado haciendo referencia a las propiedades de la versión 2.0 del servicio vinculado.

  2. La asignación de tipos de datos para la versión 2.0 del servicio vinculado de Greenplum 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 Greenplum.

Diferencias entre Greenplum versión 2.0 y la versión 1.0

La versión 2.0 del conector Greenplum ofrece nuevas funcionalidades y es compatible con la mayoría de las características de la versión 1.0. En la tabla siguiente se muestran las diferencias de características entre la versión 2.0 y la versión 1.0.

Versión 2.0 Versión 1.0
Las siguientes asignaciones se usan desde tipos de datos de Greenplum a tipos de datos de servicio provisionales.

Decimal (Precisión > 28):> Decimal
Money:> Decimal
Marca de tiempo con zona horaria:> DateTimeOffset
Hora con zona horaria:> DateTimeOffset
Intervalo:> TimeSpan
Las siguientes asignaciones se usan desde tipos de datos de Greenplum a tipos de datos de servicio provisionales.

Decimal (Precisión > 28):> String
Money:> String
Marca de tiempo con zona horaria ->String
Hora con zona horaria:> String
Interval:> String

Para obtener una lista de almacenes de datos que la actividad de copia admite como orígenes y receptores, vea Almacenes de datos que se admiten.