BigQuery: cómo conectar con un Google Sheet desde BigQuery

Hasta ahora, en todas las entradas en las que hablo de BigQuery, me he centrado en cómo explotar los datos que ya tenemos almacenados allí: cómo consultarlos, filtrarlos, combinarlos entre sí y, en definitiva, cómo sacarles partido para obtener información útil.

Sin embargo, antes de poder hacer todo eso, necesitamos dar un paso previo igual de importante: alimentar la plataforma con los datos adecuados, garantizando que lleguen con el formato correcto, a las tablas correctas y con la frecuencia que nuestro análisis requiere. Solo si cuidamos bien este proceso de carga de datos podremos asegurarnos de que, cuando llegue el momento de analizarlos, la información esté completa, actualizada y preparada para responder a las preguntas que queremos hacernos.

Para ello voy a iniciar una serie de post en los que iré comentando como conectar diferentes fuentes de datos.

En una entrada anterior, comenté como usar Google Sheets para acceder a los datos de BigQuery. En esta entrada quería realizar el camino contrario: como usar Google Sheets para enviar datos a una Tabla de BigQuery.

Como veremos mas adelante, es un proceso que es bastante sencillo pero muy útil para alimentar la herramienta datos que necesitemos en cada momento.


Índice:
  1. Localizar el Google Sheet
  2. Crear tabla en BigQuery
  3. Resumen


 

1. Localizar el Google Sheet

El primer paso es localizar el Google Sheet del que queremos importar los datos a BigQuery. Para ello, podemos buscarlo directamente desde nuestro Google Drive, navegando por las carpetas donde solemos guardar nuestros documentos, o utilizar el buscador de Drive introduciendo el nombre del archivo o alguna palabra clave que recordemos. También es posible acceder desde la propia interfaz de Google Sheets si lo hemos abierto recientemente, a través de la sección de documentos recientes.

Una vez que tengamos el documento localizado y abierto, tenemos que copiar su URL, ya que será el identificador que utilizaremos más adelante para establecer la conexión entre Google Sheets y BigQuery. Esta URL es única para cada documento y es imprescindible para que BigQuery sepa exactamente de qué hoja debe leer los datos. Esto podremos hacerlo de dos formas:

  • Siguiendo la ruta: Archivo -> Compartir -> Compartir con otros -> Copiar enlace
  • Copiando la url directamente.
seleccionar url del Google Sheet
Seleccionar url del Google Sheet

 

Una vez que tengamos la url, los siguientes pasos los desarrollaremos en BigQuery. A partir de ese momento dejaremos de trabajar directamente sobre la hoja de cálculo y pasaremos a definir, desde la propia consola de BigQuery, cómo y cuándo queremos que se importen los datos desde Google Sheets. Veremos cómo indicar a BigQuery qué pestaña debe leer, qué formato tienen las columnas y de qué manera se va a crear o actualizar la tabla de destino.

Es importante tener en cuenta que los datos que se vayan actualizando en el Google Sheet se irán reflejando en los datos disponibles en BigQuery casi en tiempo real, sin necesidad de volver a configurar nada. Esto es especialmente útil si tienes un proceso que te vuelca datos en el fichero periódicamente (por ejemplo, un formulario, un script de Apps Script o una integración con otra herramienta), ya que estos aparecerán en BigQuery sin que tengas que hacer nada más. De esta forma puedes utilizar Google Sheets como una especie de “capa intermedia” o área de preparación de datos, manteniendo la flexibilidad de la hoja de cálculo y, al mismo tiempo, aprovechando la potencia de BigQuery para hacer análisis más complejos, cruzar información con otras tablas o automatizar tus informes.

 

2. Crear tabla en BigQuery

 

Dentro de BigQuery, lo primero que vamos a hacer es crear el entorno donde vamos a volcar los datos. 

En nuestro entorno de trabajo vamos a crear un nuevo conjunto de datos o "dataset" para alojar la tabla con los datos, o bien podemos usar uno que ya exista previamente, según nuestra necesidad. Lo habitual es crear un dataset específico para agrupar todas las tablas relacionadas con un mismo proyecto o ámbito de análisis (por ejemplo, “marketing_reporting” o “ventas_sheets”), de forma que luego sea más sencillo localizar y gestionar los recursos.

Al crear el dataset podremos definir aspectos como la ubicación (región donde se almacenarán físicamente los datos) o la política de caducidad por defecto de las tablas. Conviene elegir la misma región en la que trabajamos habitualmente con el resto de nuestros datos, y revisar si queremos que las tablas caduquen automáticamente pasado un tiempo o se mantengan indefinidamente.

Una vez creado (o seleccionado) el dataset, el siguiente paso es crear la tabla que va a tener la conexión con Google Sheets. Para ello, dentro del dataset elegido, seleccionamos la opción de “Crear tabla” y, en lugar de cargar un archivo desde nuestro equipo, indicaremos que la fuente de datos es una hoja de cálculo de Google Sheets.

.

00 crear tabla

Crear tabla para conectar el Google Sheet

 

En ese punto será donde peguemos la URL que habíamos copiado anteriormente, elijamos la pestaña (sheet) concreta de la que queremos leer los datos y definamos el esquema de la tabla (nombre y tipo de cada columna), así como el modo en que se actualizará (si queremos que reemplace, añada datos, etc.).

02 datos de conexion con google sheet

Vamos a repasar cada uno de los apartados.

  • Fuente:
    • Create table from: aquí definimos cual es el origen de la tabla. En este ejemplo estamos importando los datos desde un Google Sheet que esta en Drive, pero existen muchas otras fuentes que podríamos elegir según nuestra necesidad, desde subir el archivo desde local o conectar con Azure o con Amazon.
    • Seleccionar URI de Drive: Aquí es donde pegaremos la url que hemos copiado en el paso anterior y que define la ruta donde esta el fichero objetivo.
    • Formato del archivo: hay diferentes opciones pero nos interesa que sea 'Hoja de Cálculo de Google'.
    • Rango de hojas: aquí tenemos que indicar cual es el nombre de la pestaña donde están los datos que queremos importar. Tiene que ser el nombre literal y exacto de la pestaña en el Google Sheet.
  • Destino:
    • Proyecto: aquí se indica el proyecto en el que se almacenará la tabla de destino. Aparecerá cumplimentado por defecto, pero puedes modificarlo si necesitas usar otro proyecto.
    • Conjunto de datos: aquí se define el conjunto de datos en el que se guardará la tabla de destino. Si lo necesitas, podrás cambiarlo y seleccionar de nuevo el que habías elegido inicialmente o usar uno distinto. 
    • Tabla: aquí es donde se define el nombre de la tabla. Elige el nombre que sea más adecuado y sencillo para localizarlo después.

 

Después de elegir el origen y el destino de la tabla, casi hemos terminado; solo nos quedan dos pasos.

Primero, generar el esquema: en la mayoría de los casos basta con marcar la casilla de "Detección automática", para que BigQuery infiera de forma automática los tipos de datos y la estructura de las columnas. Si por cualquier motivo no te encaja el resultado o la detección falla, siempre puedes definir el esquema manualmente, indicando columna a columna su nombre y tipo de dato.

Segundo, indicar cuántas filas iniciales quieres excluir de la importación. Normalmente aquí especificaremos las n primeras filas donde se encuentra el encabezado del fichero (títulos de columnas, notas, etc.), para que no se incorporen como registros de datos a la tabla de BigQuery.

03 datos de conexion con google sheet

Hecho esto, lo ultimo que nos falta es darle al botón de crear tabla y ya tendremos la tabla creada y lista para ser utilizada en el entorno de BigQuery.


Resumen

En resumen, conectar un Google Sheet con BigQuery es un proceso sencillo que te permite sacar el máximo partido de ambos entornos.

Solo necesitas localizar tu hoja de cálculo, copiar su enlace y usarlo desde BigQuery para crear una tabla vinculada. A partir de ahí, puedes elegir qué pestaña importar, definir el esquema de columnas y dejar que BigQuery se encargue del resto.

Lo mejor es que cualquier cambio en la hoja se reflejará automáticamente en tus datos, sin configuraciones extra.

Así, Google Sheets se convierte en una práctica capa intermedia para preparar información mientras aprovechas toda la potencia analítica y escalabilidad de BigQuery.

conectar bigquery a google sheet

David Hernández

Digital Analyst


Soy un apasionado de los datos, la tecnología, la ciencia y el aprendizaje continuo.

Trabajo como Digital Analyst desde 2020.

Participo en el ciclo completo de los datos: definición e implementación de recolección, procesado y distribución, análisis de datos y reporting.

Publicaciones destacadas

Submit Your Comment