Copia de datos de Google BigQuery 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 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 nuevo conector de Google BigQuery proporciona compatibilidad nativa mejorada con Google BigQuery. Si usa el conector de Google BigQuery heredado en la solución, solo se admite tal como está para la compatibilidad con versiones anteriores, consulte Artículo sobre el conector de Google BigQuery (heredado).

Funcionalidades admitidas

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

Funcionalidades admitidas IR
Actividad de copia (origen/-) ① ②
Actividad de búsqueda ① ②

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

Introducción

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 del área de trabajo de Azure Data Factory o Synapse y seleccione Servicios vinculados; luego haga clic en Nuevo:

  2. Busque Google BigQuery y seleccione el conector.

    Captura de pantalla del conector de Google BigQuery.

  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 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
type La propiedad type debe establecerse en GoogleBigQueryV2.
projectId Identificador del proyecto predeterminado de BigQuery para el que se realizarán consultas.
authenticationType Mecanismo de autenticación de OAuth 2.0 que se usa para la autenticación.
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.
clientSecret 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",
        "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",
        "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
type La propiedad type del conjunto de datos debe establecerse en: GoogleBigQueryV2Object
dataset Nombre del conjunto de datos de Google BigQuery. No (si se especifica "query" en el origen de la actividad)
table 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
type 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>"
            }
        }
    }
]

Propiedades de la actividad de búsqueda

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

Actualización del servicio vinculado de Google BigQuery

Para actualizar el servicio vinculado de Google BigQuery, cree un nuevo servicio vinculado de Google BigQuery y configúrelo haciendo referencia a Propiedades del servicio vinculado.

Diferencias entre Google BigQuery y Google BigQuery (heredado)

El conector Google BigQuery ofrece nuevas funcionalidades y es compatible con la mayoría de las características del conector Google BigQuery (heredado). La siguiente tabla muestra las diferencias entre las funciones de Google BigQuery y Google BigQuery (heredado).

Google BigQuery Google BigQuery (heredado)
La autenticación de servicios es compatible con el tiempo de ejecución de integración de Azure y el tiempo de ejecución de integración auto hospedado por el usuario.
Las propiedades trustedCertPath, useSystemTrustStore, email y keyFilePath no son compatibles, ya que solo están disponibles en el tiempo de ejecución de integración auto hospedado.
La autenticación de servicios solo es compatible con el tiempo de ejecución de integración autohospedado.
Admite las propiedades trustedCertPath, useSystemTrustStore, email y keyFilePath.
Se utilizan las siguientes correspondencias entre los tipos de datos de Google BigQuery y los tipos de datos provisionales utilizados internamente por el servicio.

Numérico:> Decimal
Marca de tiempo:> DateTimeOffset
DateTime:> DatetimeOffset
Se utilizan las siguientes correspondencias entre los tipos de datos de Google BigQuery y los tipos de datos provisionales utilizados internamente por el servicio.

Numérico:> Cadena
Marca de tiempo:> DateTime
Datetime:> DateTime
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. Support requestGoogleDriveScope.
no se admite additionalProjects. Como alternativa, consultar un conjunto de datos público con la consola de Google Cloud. Compatibilidad con additionalProjects.

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.