Compartir a través de


Copia de datos de Impala 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 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 describe el uso de la actividad de copia en una canalización de Synapse Analytics o Azure Data Factory para copiar datos de Impala. El documento se basa en el artículo de introducción a la actividad de copia que presenta información general de la actividad de copia.

Importante

La versión 1.0 del conector de Impala está en fase de eliminación. Se recomienda actualizar el conector impala de la versión 1.0 a la 2.0.

Funcionalidades admitidas

Este conector de Impala 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 permitir la conectividad. Por lo tanto, no es necesario instalar manualmente uno para usar 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.

Nota:

La versión 2.0 se admite con la versión 5.55 o posterior del entorno de ejecución de integración autohospedado.

Primeros pasos

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 Impala mediante la interfaz de usuario

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

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

  2. Busque Impala y seleccione el conector de Impala.

    Captura de pantalla del conector de Impala.

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

    Captura de pantalla de la configuración del servicio vinculado para Impala.

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

Propiedades del servicio vinculado

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

Versión 2.0

El servicio vinculado Impala admite las siguientes propiedades al aplicar la versión 2.0:

Propiedad Descripción Obligatorio
tipo La propiedad type debe estar establecida en Impala.
version Versión que especifique. El valor es 2.0.
anfitrión La dirección IP o el nombre de host del servidor de Impala (es decir, 192.168.222.160).
puerto Puerto TCP que el servidor de Impala usa para escuchar las conexiones del cliente. El valor predeterminado es 21050. No
thriftTransportProtocol Protocolo de transporte que se va a usar en la capa de Thrift. Los valores permitidos son: Binary, HTTP. El valor predeterminado es Binary.
Tipo de autenticación Tipo de autenticación que se debe usar.
Los valores permitidos son Anonymous y UsernameAndPassword.
nombre de usuario Nombre de usuario que se usa para acceder al servidor de Impala. No
contraseña La contraseña que se corresponde con el nombre de usuario cuando se usa UsernameAndPassword. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault. No
habilitarSsl Especifica si las conexiones al servidor se cifran mediante TLS. El valor predeterminado es true. No
enableServerCertificateValidation Especifique si se va a habilitar la validación de certificados SSL de servidor al conectarse. Use siempre el Almacén de confianza del sistema. El valor predeterminado es true. No
connectVia El entorno de ejecución de integración 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á Azure Integration Runtime. Puede usar el entorno de ejecución de integración autohospedado y su versión debe ser 5.55 o superior. No

Ejemplo:

{
    "name": "ImpalaLinkedService",
    "properties": {
        "type": "Impala",
        "version": "2.0",
        "typeProperties": {
            "host" : "<host>",
            "port" : "<port>",
            "authenticationType" : "UsernameAndPassword",
            "username" : "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "enableSsl": true,
            "thriftTransportProtocol": "Binary",
            "enableServerCertificateValidation": true
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Versión 1.0

Las siguientes propiedades son compatibles con el servicio vinculado de Impala cuando se aplica la versión 1.0.

Las siguientes propiedades son compatibles con el servicio vinculado de Impala:

Propiedad Descripción Obligatorio
tipo La propiedad type debe estar establecida en Impala.
anfitrión La dirección IP o el nombre de host del servidor de Impala (es decir, 192.168.222.160).
puerto Puerto TCP que el servidor de Impala usa para escuchar las conexiones del cliente. El valor predeterminado es 21050. No
Tipo de autenticación Tipo de autenticación que se debe usar.
Los valores permitidos son: Anonymous, SASLUsername y UsernameAndPassword.
nombre de usuario Nombre de usuario que se usa para acceder al servidor de Impala. El valor predeterminado es anonymous cuando se usa SASLUsername. No
contraseña La contraseña que se corresponde con el nombre de usuario cuando se usa UsernameAndPassword. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault. No
habilitarSsl Especifica si las conexiones al servidor se cifran mediante TLS. El valor predeterminado es false. No
trustedCertPath La ruta de acceso completa del archivo .pem que contiene certificados de entidad de certificación de confianza usados para comprobar el servidor cuando se conecta a través de TLS. Esta propiedad solo puede establecerse cuando se usa TLS en el entorno de ejecución de integración autohospedado. El valor predeterminado es el archivo cacerts.pem instalado con Integration Runtime. No
useSystemTrustStore Especifica si se utiliza un certificado de CA del almacén de confianza del sistema o de un archivo PEM especificado. El valor predeterminado es false. No
allowHostNameCNMismatch Especifica si se requiere que el nombre del certificado TLS/SSL emitido por una entidad de certificación coincida con el nombre de host del servidor al conectarse a través de TLS. El valor predeterminado es false. No
allowSelfSignedServerCert Especifica si se permiten los certificados autofirmados del servidor. El valor predeterminado es false. No
connectVia El entorno de ejecución de integración 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á Azure Integration Runtime. No

Ejemplo:

{
    "name": "ImpalaLinkedService",
    "properties": {
        "type": "Impala",
        "typeProperties": {
            "host" : "<host>",
            "port" : "<port>",
            "authenticationType" : "UsernameAndPassword",
            "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 compatibles con el conjunto de datos de Impala.

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

Propiedad Descripción Obligatorio
tipo La propiedad type del conjunto de datos debe establecerse en: ImpalaObject
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": "ImpalaDataset",
    "properties": {
        "type": "ImpalaObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Impala 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 tipo de origen de Impala.

Impala como tipo de origen

Para copiar datos de Impala, establezca el tipo de origen de la actividad de copia en ImpalaSource. En la sección source de la actividad de copia se admiten las siguientes propiedades.

Propiedad Descripción Obligatorio
tipo La propiedad type del origen de la actividad de copia debe establecerse en ImpalaSource.
Query Use la consulta SQL personalizada para leer los datos. Un ejemplo es "SELECT * FROM MyTable". No (si se especifica "tableName" en el conjunto de datos)

Ejemplo:

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

Asignación de tipos de datos para Impala

Al copiar datos hacia y desde Impala, se utilizan las siguientes asignaciones de tipos de datos intermedias dentro del 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 impala Tipo de datos de servicio provisional (para la versión 2.0) Tipo de datos de servicio provisional (para la versión 1.0)
ARRAY Cuerda Cuerda
bigint Int64 Int64
BOOLEANO Boolean Boolean
CHAR Cuerda Cuerda
FECHA Fecha y hora Fecha y hora
DECIMAL Decimal Decimal
DOUBLE Double Double
FLOAT Soltero Soltero
ENTERO Int32 Int32
MAPA Cuerda Cuerda
SMALLINT Int16 Int16
STRING Cuerda Cuerda
ESTRUCTURA Cuerda Cuerda
TIMESTAMP DateTimeOffset Fecha y hora
TINYINT SByte Int16
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 impala

En la tabla siguiente se muestran la fase de lanzamiento y los registros de cambios para diferentes versiones del conector impala:

Versión Fase de lanzamiento Registro de cambios
Versión 1.0 Quitado No aplicable.
Versión 2.0 Versión de disponibilidad general disponible • La versión del entorno de ejecución de integración autohospedado debe ser 5.55 o superior.

• El valor predeterminado de enableSSL es true. enableServerCertificateValidation es compatible.
No se admitentrustedCertPath, useSystemTrustStore, allowHostNameCNMismatch ni allowSelfSignedServerCert.

• TIMESTAMP se lee como tipo de datos DateTimeOffset.

• TINYINT se lee como tipo de datos SByte.

• No se admite el tipo de autenticación SASLUsername.

Actualización del conector impala de la versión 1.0 a la versión 2.0

  1. 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 versión 2.0.

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

  3. Aplique un entorno de ejecución de integración autohospedado con la versión 5.55 o posterior.

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.