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, actualice el conector de Google BigQuery antes del 31 de octubre de 2024. Consulte esta sección para más información sobre la diferencia entre la versión heredada y la versión más reciente.
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:
- 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 BigQuery y seleccione el conector.
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 GoogleBigQueryV2. | Sí |
projectId | Identificador del proyecto predeterminado de BigQuery para el que se realizarán consultas. | Sí |
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. |
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í |
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. | Sí |
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 | 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) |
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. | Sí |
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 conector de Google BigQuery
Para actualizar el conector 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. |
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.