Compartir a través de


Copia de datos de Google BigQuery V2 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 resume el uso de la actividad de copia en canalizaciones de Azure Data Factory y Synapse Analytics para copiar datos de Google BigQuery. 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

El conector de Google BigQuery V1 está en la fase de retirada. Se recomienda actualizar el conector de Google BigQuery de V1 a V2.

Funcionalidades admitidas

Este conector de Google BigQuery es compatible con las actividades funcionalidades:

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.

Nota:

Este conector de Google BigQuery se basa en las API de BigQuery. Tenga en cuenta que BigQuery limita la velocidad máxima de las solicitudes entrantes e impone cuotas adecuadas según cada proyecto; consulte las cuotas y límites de las solicitudes de API para más información. Asegúrese de no desencadenar demasiadas solicitudes simultáneas a la cuenta.

Primeros pasos

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

Creación de un servicio vinculado en Google BigQuery mediante la interfaz de usuario

Siga estos pasos para crear un servicio vinculado en Google BigQuery 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 Google BigQuery y seleccione el conector.

    Recorte de pantalla del conector de Google BigQuery.

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

    Recorte de pantalla de la configuración del servicio vinculado en Google BigQuery.

Detalles de configuración del conector

En las secciones siguientes se proporcionan detalles sobre las propiedades que se usan para definir entidades específicas del conector de Google BigQuery.

Propiedades del servicio vinculado

Las siguientes propiedades son compatibles con el servicio vinculado de Google BigQuery:

Propiedad Descripción Obligatorio
tipo La propiedad type debe establecerse en GoogleBigQueryV2.
version Versión que especifique. Se recomienda actualizar a la versión más reciente para aprovechar las mejoras más recientes. Sí para la versión 1.1
projectId Identificador del proyecto predeterminado de BigQuery para el que se realizarán consultas.
Tipo de autenticación Mecanismo de autenticación OAuth 2.0 que se usa para autenticar.
Los valores permitidos son UserAuthentication y ServiceAuthentication. Consulte en las secciones después de esta tabla más propiedades y ejemplos de JSON para esos tipos de autenticación respectivamente.

Uso de la autenticación de usuarios

Establezca la propiedad "authenticationType" en UserAuthentication y especifique las siguientes propiedades junto con las propiedades genéricas descritas en la sección anterior:

Propiedad Descripción Obligatorio
clientId Identificador de la aplicación usada para generar el token de actualización.
secretoDelCliente Secreto de la aplicación usado para generar el token de actualización. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault.
refreshToken El token de actualización obtenido de Google usado para autorizar el acceso a BigQuery. Aprenda cómo obtener uno en Obtaining OAuth 2.0 access tokens (Obtención de tokens de acceso de OAuth 2.0) y este blog de la comunidad. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault.

Ejemplo:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQueryV2",
        "version": "1.1",
        "typeProperties": {
            "projectId" : "<project ID>",
            "authenticationType" : "UserAuthentication",
            "clientId": "<client ID>",
            "clientSecret": {
                "type": "SecureString",
                "value":"<client secret>"
            },
            "refreshToken": {
                "type": "SecureString",
                "value": "<refresh token>"
            }
        }
    }
}

Uso de la autenticación de servicio

Establezca la propiedad "authenticationType" en ServiceAuthentication y especifique las siguientes propiedades junto con las propiedades genéricas descritas en la sección anterior.

Propiedad Descripción Obligatorio
keyFileContent El archivo de clave en formato JSON que se usa para autenticar la cuenta de servicio. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault.

Ejemplo:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQueryV2",
        "version": "1.1",
        "typeProperties": {
            "projectId": "<project ID>",
            "authenticationType": "ServiceAuthentication",
            "keyFileContent": {
                "type": "SecureString",
                "value": "<key file JSON string>"
            }
        }
    }
}

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 Google BigQuery.

Para copiar datos de Google BigQuery, establezca la propiedad type del conjunto de datos en GoogleBigQueryV2Object. Se admiten las siguientes propiedades:

Propiedad Descripción Obligatorio
tipo La propiedad type del conjunto de datos debe establecerse en: GoogleBigQueryV2Object
conjunto de datos Nombre del conjunto de datos de Google BigQuery. 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)

Ejemplo

{
    "name": "GoogleBigQueryDataset",
    "properties": {
        "type": "GoogleBigQueryV2Object",
        "linkedServiceName": {
            "referenceName": "<Google BigQuery linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [],
        "typeProperties": {
            "dataset": "<dataset name>",
            "table": "<table name>"
        }
    }
}

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 Google BigQuery.

GoogleBigQuerySource como tipo de origen

Para copiar datos de Google BigQuery, establezca el tipo de origen de la actividad de copia en GoogleBigQueryV2Source. 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 GoogleBigQueryV2Source.
Query Use la consulta SQL personalizada para leer los datos. Un ejemplo es "SELECT * FROM MyTable". Para obtener más información, vaya a Sintaxis de consulta. No (si se especifican "conjunto de datos " y "tabla " en el conjunto de datos)

Ejemplo:

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

Asignación de tipos de datos para Google BigQuery V2

Al copiar datos desde Google BigQuery, se usan las siguientes asignaciones de tipos de datos de Google BigQuery en los tipos de datos provisionales 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 BigQuery de Google Tipo provisional de datos del servicio
JSON String
STRING String
BYTES Byte array
INTEGER Int64
FLOAT Double
NUMÉRICO Decimal
BIGNUMERIC String
BOOLEAN Boolean
TIMESTAMP DateTimeOffset
DATE DateTime
TIME TimeSpan
Fecha y hora DateTimeOffset
GEOGRAFÍA String
REGISTRO/ESTRUCTURA String
ARRAY String

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 Google BigQuery

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

Versión Fase de lanzamiento Registro de cambios
Google BigQuery V1 Quitado No aplicable.
Google BigQuery V2 (versión 1.0) Versión de disponibilidad general disponible • El entorno de ejecución de integración de Azure y el entorno de ejecución de integración autohospedado admiten la autenticación del servicio.
Las propiedades trustedCertPath, useSystemTrustStoreemail y keyFilePath no se admiten, ya que solo están disponibles en el entorno de ejecución de integración autohospedado.

requestGoogleDriveScope no se admite. Además, debe aplicar el permiso en el servicio Google BigQuery consultando Elegir ámbitos de la API de Google Drive y Consultar datos de Drive.

additionalProjects no se admite. Como alternativa, consultar un conjunto de datos público con la consola de Google Cloud.

• NUMBER se lee como un tipo de dato Decimal.

• La marca de tiempo y Datetime se leen como tipo de datos DateTimeOffset.
Google BigQuery V2 (versión 1.1) Versión de disponibilidad general disponible • Se ha corregido un error: al ejecutar varias instrucciones, el query ahora devuelve los resultados de la primera instrucción después de excluir las instrucciones de evaluación, en lugar de devolver siempre el resultado de la primera instrucción.

Actualización del conector de Google BigQuery

Para actualizar el conector de Google BigQuery:

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.