Copia de datos de Google BigQuery V1 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 conector de Google BigQuery V2 proporciona compatibilidad nativa mejorada con Google BigQuery. Si usa el conector de Google BigQuery V1 en la solución, actualice el conector de Google BigQuery, ya que V1 se encuentra en fase de finalización del soporte. Consulte esta sección para obtener más información sobre la diferencia entre V2 y V1.
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.
El conector admite las versiones de Windows de este artículo.
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.
Requisitos previos
Para usar este conector, necesita los siguientes permisos mínimos de Google BigQuery:
- bigquery.connections.*
- bigquery.datasets.*
- bigquery.jobs.*
- bigquery.readsessions.*
- bigquery.routines.*
- bigquery.tables.*
Introducción
Para realizar la actividad de copia con una canalización, puede usar una de los siguientes herramientas o SDK:
- La herramienta Copiar datos
- Azure Portal
- El SDK de .NET
- El SDK de Python
- Azure PowerShell
- API REST
- La plantilla de Azure Resource Manager
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.
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:
Busque Google y seleccione el conector de Google BigQuery.
Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.
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 GoogleBigQuery. | Sí |
proyecto | Identificador del proyecto predeterminado de BigQuery para el que se realizarán consultas. | Sí |
additionalProjects | Lista separada por comas de identificadores de proyectos públicos de BigQuery para su acceso. | No |
requestGoogleDriveScope | Si desea solicitar acceso a Google Drive. Al permitir el acceso a Google Drive, se habilita la compatibilidad para las tablas federadas que combinan datos de BigQuery con datos de Google Drive. El valor predeterminado es false. | No |
authenticationType | Mecanismo de autenticación OAuth 2.0 que se usa para autenticar. ServiceAuthentication solo puede usarse en Integration Runtime autohospedado. 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. |
Sí |
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. | Sí |
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. | Sí |
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. | Sí |
El ámbito mínimo necesario para obtener un token de actualización de OAuth 2.0 es https://www.googleapis.com/auth/bigquery.readonly
. Si tiene previsto ejecutar una consulta que podría devolver resultados grandes, podría ser necesario otro ámbito. Para más información, consulte este artículo.
Ejemplo:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project ID>",
"additionalProjects" : "<additional project IDs>",
"requestGoogleDriveScope" : true,
"authenticationType" : "UserAuthentication",
"clientId": "<id of the application used to generate the refresh token>",
"clientSecret": {
"type": "SecureString",
"value":"<secret of the application used to generate the refresh token>"
},
"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. Este tipo de autenticación solo puede usarse en Integration Runtime autohospedado.
Propiedad | Descripción | Obligatorio |
---|---|---|
El identificador de correo electrónico de la cuenta de servicio que se usa para ServiceAuthentication. Solo se puede usar en Integration Runtime autohospedado. | No | |
keyFilePath | La ruta de acceso completa al archivo de clave .json que se usa para autenticar la dirección de correo electrónico de la cuenta de servicio. |
Sí |
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 usa un certificado de entidad de certificación del almacén de confianza del sistema o de un archivo .pem especificado. El valor predeterminado es false. | No |
Nota:
El conector ya no admite archivos de claves P12. Si se basa en las cuentas de servicio, se recomienda usar en su lugar archivos de claves JSON. La propiedad P12CustomPwd usada para admitir el archivo de claves P12 también estaba en desuso. Para más información, consulte este artículo.
Ejemplo:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project id>",
"requestGoogleDriveScope" : true,
"authenticationType" : "ServiceAuthentication",
"email": "<email>",
"keyFilePath": "<.json key path on the IR machine>"
},
"connectVia": {
"referenceName": "<name of Self-hosted 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 Google BigQuery.
Para copiar datos de Google BigQuery, establezca la propiedad type del conjunto de datos en GoogleBigQueryObject. Se admiten las siguientes propiedades:
Propiedad | Descripción | Obligatorio |
---|---|---|
type | La propiedad type del conjunto de datos debe establecerse en: GoogleBigQueryObject | Sí |
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) |
tableName | Nombre de la tabla. Esta propiedad permite la compatibilidad con versiones anteriores. Para la nueva carga de trabajo use dataset y table . |
No (si se especifica "query" en el origen de la actividad) |
Ejemplo
{
"name": "GoogleBigQueryDataset",
"properties": {
"type": "GoogleBigQueryObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleBigQuery 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 Google BigQuery.
GoogleBigQuerySource como tipo de origen
Para copiar datos de Google BigQuery, establezca el tipo de origen de la actividad de copia en GoogleBigQuerySource. 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 GoogleBigQuerySource. | Sí |
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": "CopyFromGoogleBigQuery",
"type": "Copy",
"inputs": [
{
"referenceName": "<GoogleBigQuery input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GoogleBigQuerySource",
"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.
Contenido relacionado
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.