Google BigQuery
Resumen
Elemento | Descripción |
---|---|
Estado de la versión | Disponibilidad general |
Productos | Power BI (Modelos semánticos) Power BI (Flujos de datos) Fabric (Flujo de datos Gen2) Aplicaciones Power (Flujos de datos) Información del Cliente (Flujos de datos) |
Tipos de autenticación admitidos | Cuenta de la organización Cuenta de servicio |
Nota:
Algunas capacidades pueden estar presentes en un producto, pero otras no, debido a los programas de implementación y las capacidades específicas del host.
Nota:
A partir de julio de 2021, Google dejó de admitir los inicios de sesión en las cuentas de Google desde los marcos de los navegadores integrados. Debido a este cambio, necesita actualización de su versión del espacio de trabajo de Power BI hasta junio de 2021 o posterior para admitir el inicio de sesión en Google.
Requisitos previos
Necesita una cuenta de Google o una cuenta del servicio de Google para iniciar sesión en Google BigQuery.
Funcionalidades admitidas
- Importar
- DirectQuery (modelos semánticos de Power BI)
Conectarse a loa datos de Google BigQuery desde el espacio de trabajo de Power Query
Para conectarte a Google BigQuery desde el espacio de trabajo de Power Query, siga estos pasos:
En la experiencia de obtención de datos, seleccione Google BigQuery. La experiencia de obtención de datos en Power Query Desktop varía entre las aplicaciones. Para obtener más información sobre la experiencia de obtención de datos de Power Query Desktop para la aplicación, vaya a Dónde obtener datos.
Si desea utilizar opciones avanzadas, seleccione Opciones avanzadas. De lo contrario, seleccione OK para continuar. Más información: Conectar con opciones avanzadas
El conector de Google BigQuery admite la conexión a través del inicio de sesión de una cuenta de la organización o de una cuenta del servicio. En este ejemplo, use la cuenta de la organización para iniciar sesión. Seleccione Iniciar Sesión para continuar.
También puede iniciar sesión con una cuenta del servicio de Google. En este caso, seleccione el Inicio de Sesión de la Cuenta del Servicio e ingrese el correo electrónico de su cuenta del servicio y el contenido del archivo de la clave JSON de su cuenta del servicio. A continuación, seleccione Conectar.
Un cuadro de diálogo de Inicio de sesión con Google aparece. Seleccione su cuenta de Google y apruebe la conexión al espacio de trabajo de Power BI.
Una vez que haya iniciado sesión, seleccione Conectar para continuar.
Una vez que se conecte exitosamente, un Navegador aparece la ventana y le muestra los datos disponibles en el servidor. Seleccione sus datos en el navegador. A continuación, seleccione Transformar Datos para transformar los datos en Power Query o Cargar para cargar los datos en el espacio de trabajo de Power BI.
Conectarse a los datos de Google BigQuery desde Power Query Online
Para conectarse a Google BigQuery desde Power Query Online, siga estos pasos:
En la experiencia de obtención de datos, seleccione Google BigQuery. Las distintas aplicaciones tienen diferentes formas de obtener datos en Power Query Online. Para obtener más información sobre cómo acceder a la experiencia de obtención de datos de Power Query Online desde la aplicación, vaya a Dónde obtener datos.
En el cuadro de diálogo de la Base de datos de Google BigQuery, es posible que deba crear una nueva conexión o seleccionar una conexión existente. Si utiliza datos locales, seleccione una puerta de enlace de datos local. A continuación, seleccione Iniciar sesión.
Un cuadro de diálogo de Inicio de sesión con Google aparece. Seleccione su cuenta de Google y apruebe la conexión.
Nota:
Aunque el cuadro de diálogo de iniciar sesión indica que continuará con el espacio de trabajo de Power BI una vez que haya iniciado sesión, se le enviará a su aplicación en línea.
Si desea utilizar opciones avanzadas, seleccione Opciones avanzadas. Más información: Conectar con opciones avanzadas
Una vez que haya iniciado sesión, seleccione Siguiente para continuar.
Una vez que se conecte exitosamente, un Navegador aparece la ventana y le muestra los datos disponibles en el servidor. Seleccione sus datos en el navegador. A continuación, seleccione Siguiente para transformar los datos en Power Query.
Conectarse mediante las opciones avanzadas
Tanto el espacio de trabajo de Power Query como Power Query Online proporcionan un conjunto de opciones avanzadas que puede agregar a la consulta de ser necesario.
En la siguiente tabla se enumeran todas las opciones avanzadas que puede configurar en el espacio de trabajo de Power Query y en Power Query Online.
Opción avanzada | Descripción |
---|---|
Identificación del proyecto de facturación | Un proyecto contra el cual Power Query ejecutará consultas. Los permisos y la facturación están vinculados a este proyecto. Si no se proporciona una identificación del proyecto de facturación, se utilizará de forma predeterminada el primer proyecto disponible devuelto por las API de Google. |
Usar Api de Almacenamiento | Una bandera que permite usar el API de almacenamiento de Google BigQuery. Esta opción es verdadera de forma predeterminada. Esta opción se puede establecer en falso para no usar la API de almacenamiento y usar la API REST en su lugar. |
Duración del tiempo de espera de la conexión | La configuración de la conexión estándar (en segundos) que controla cuánto tiempo espera Power Query a que se complete la conexión. Puede cambiar este valor si la conexión no se completa antes de 15 segundos (el valor predeterminado.) |
Duración del tiempo de espera del comando | Cuánto tiempo espera Power Query a que se complete una consulta y devuelva los resultados. El valor predeterminado depende del valor predeterminado del controlador. Puede ingresar otro valor en minutos para mantener la conexión abierta por más tiempo. |
Id. de proyecto | El proyecto en el cual desea ejecutar las consultas nativas. Esta opción solo está disponible en Power Query Desktop. |
Instrucción SQL | Para obtener información, vaya a Importar datos de una base de datos mediante una consulta de base de datos nativa. En esta versión de la funcionalidad de la consulta de la base de datos nativa, debe utilizar los nombres de la tabla completos en el formato Database.Schema.Table , por ejemplo SELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE . Esta opción solo está disponible en Power Query Desktop. |
Una vez que haya seleccionado las opciones avanzadas que necesita, seleccione OK en el espacio de trabajo de Power Query o Siguiente en Power Query Online para conectarse a sus datos de Google BigQuery.
Limitaciones y consideraciones
En esta sección se describen las limitaciones o consideraciones del conector de Google BigQuery.
Conexión a Google BigQuery en el espacio de trabajo de Power BI
Existen algunos límites y consideraciones a tener en cuenta al usar el conector de Google BigQuery con Power BI.
Disponibilidad de los conectores
El conector de Google BigQuery está disponible en Power BI Desktop y en el servicio Power BI. En el servicio Power BI, se puede acceder al conector mediante la conexión de nube a nube de Power BI a Google BigQuery.
Error del "Acceso denegado"
Al intentar conectarse a Google BigQuery desde el espacio de trabajo de Power BI Desktop, es posible que aparezca el siguiente mensaje de error:
Datasource.Error: ODBC: ERROR [HY000][Microsoft][BigQuery] (100) Error interacting with REST API: Access Denied: Project <project name>: The user <user name> bigquery.jobs.create permissions in project <project name>.
En este caso, es posible que deba ingresar una identificación del proyecto de facturación en la opción avanzada del Proyecto de Facturación en la configuración de conexión Power Query .
Además, si también crea un informe en el servicio Power BI con una puerta de enlace, es posible que siga recibiendo este error. En este caso, debe incluir manualmente la identificación del proyecto de facturación en el código M para la conexión mediante el editor de Power Query o la barra de la fórmulas de Power Query. Por ejemplo:
Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])
Campos anidados
Para optimizar las consideraciones de rendimiento, Google BigQuery funciona bien con conjuntos de datos grandes cuando se desnormalizan, aplanan y anidan.
El conector de Google BigQuery admite campos anidados, que se cargan como columnas de texto en el formato JSON.
Los usuarios deben seleccionar Transformar Datos y luego usar las capacidades de análisis JSON en el editor de Power Query para extraer los datos.
- Bajo la pestaña de la cinta Transformar, la categoría de la Columna de Texto, seleccionar Analizar y luego JSON.
- Extraiga los campos de registro JSON con el comando de la opción de Expandir Columna.
Configurar una cuenta del servicio de Google
Para obtener mayor información acerca de la configuración o el uso de cuentas del servicio de Google, vaya hasta la Creación y administración de claves de cuenta del servicio en los documentos de Google.
Autenticación a través de una cuenta del servicio de Google
Cuando se autentica a través de una cuenta del servicio de Google en el espacio de trabajo de Power BI, el conector requiere de un formato de credenciales específico.
- Correo electrónico de la cuenta del servicio: debe estar en el formato de correo electrónico
- Contenido del archivo de la clave JSON de la cuenta del servicio: una vez que se descarga esta clave JSON, se deben eliminar todas las líneas nuevas del archivo para que el contenido esté en una línea. Una vez que el archivo JSON esté en ese formato, el contenido se puede pegar en este campo.
Cuando se autentica a través de una cuenta del servicio de Google en el servicio Power BI o Power Query Online, los usuarios deben usar la autenticación " Basic". El mapa del campo del Nombre de Usuario en el campo Servicio de Correo Electrónico de la Cuenta, y el campo de la Contraseña de mapas al Contenido del archivo de clave JSON de la cuenta de servicio en el campo. Los requisitos del formato para cada credencial siguen siendo los mismos en el espacio de trabajo de Power BI, servicio de Power BI y Power Query Online.
No se puede autenticar con la API de almacenamiento de Google BigQuery
El conector de Google BigQuery utiliza la API de almacenamiento de Google BigQuery por defecto. Esta función está controlada por la opción avanzada llamada UseStorageAp. Es posible que tenga problemas con esta función si utiliza permisos granulares. En este escenario, es posible que vea el siguiente mensaje de error o que no obtenga ningún dato para su consulta:
ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google BigQuery Storage API. Check your account permissions
Puede resolver este problema ajustando correctamente los permisos de usuario de la API de almacenamiento de BigQuery. Estos permisos de la API de almacenamiento son necesarios para acceder a los datos correctamente con la API de BigQueryStorage:
bigquery.readsessions.create
: Crea una nueva sesión de lectura a través de la API de almacenamiento de BigQuery.bigquery.readsessions.getData
: Lee datos de una sesión de lectura a través de la API de almacenamiento de BigQuery.bigquery.readsessions.update
: Actualiza una sesión de lectura a través de la API de almacenamiento de BigQuery.
Por lo general, estos permisos se proporcionan en el BigQuery.User
rol. Mayor información, Roles y permisos predefinidos de Google BigQuery
Si los pasos anteriores no resuelven el problema, puede deshabilitar la API de almacenamiento de BigQuery.
No se pueden usar datos de tipo Fecha y hora en el modo de consulta directa
Existe un problema conocido en el que el tipo DateTime no se admite a través de una consulta directa. Al seleccionar una columna con el tipo de fecha y hora, se produce un error de "Consulta no válida" o un error visual.
Limitaciones en la columna de consulta que tiene el mismo nombre que el nombre de tabla
Al consultar una columna con el mismo nombre que el nombre de tabla, BigQuery interpreta la columna como una struct
que incluye todas las columnas de la tabla en lugar de la columna especificada. Por ejemplo, SELECT debug FROM dataset.debug
devuelve una struct
con todas las columnas de la tabla de depuración, en lugar de la columna de depuración especificada. Este comportamiento no es intuitivo y se está investigando una corrección. Hay dos soluciones alternativas disponibles:
- Solución alternativa 1: Ajuste de la tabla con una vista que no entre en conflicto con el nombre de columna:
CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
- Solución alternativa 2: Cambie el nombre de la columna para evitar conflictos con el nombre la tabla:
ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
- Solución alternativa 3: Cambie la consulta SELECT para usar table.column para hacer referencia a la columna de conflicto:
SELECT debug.debug FROM dataset.debug
Las vistas materializadas no se admiten en el navegador de Power BI Desktop
Un problema conocido es que el conector de Google BigQuery no admite actualmente vistas materializadas en el navegador de Power BI Desktop.
- Solución alternativa: use instrucciones SQL de consulta nativas para capturar vistas materializadas de Google BigQuery.
Error HTTP 403: quotaExceeded (Cuota superada: el usuario superó la cuota para las solicitudes simultáneas de project.lists)
- Se supera la cuota de uso de la cuenta de cliente de las llamadas API de project.lists a Google. Cuando varios informes se actualizan simultáneamente, podría producirse un error en diferentes consultas o informes. Para evitar el error, programe las actualizaciones del informe en intervalos escalonados.
- Actualice la consulta para incluir un identificador de proyecto de facturación:
GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])
. - Las llamadas a
GoogleBigQuery.Database
deben estar en la misma consulta que la selección de esquema y tabla para evitar el error.