Methods to load JSON data to BigQuery
Métodos para cargar datos JSON en BigQuery
JavaScript Notation Object (JSON) es un formato de intercambio de datos ampliamente utilizado. Es fácilmente legible, ligero e independiente del lenguaje. Puede cargar datos en JSON desde la mayoría de aplicaciones y servicios. Existen tres formas principales de exportar datos desde la API JSON a BigQuery:
1. Conector JSON de Coupler.io
Esta es la forma sin código de importar datos de JSON a BigQuery dinámicamente usando el conector de Coupler.io. Es una plataforma de automatización de informes para convertir datos sin procesar en informes sencillos. El conector crea un canal de datos que automatiza las actualizaciones de datos a intervalos regulares. También puedes transformar los datos antes de importarlos a BigQuery.
2. Importación manual (el método más básico)
Google BigQuery admite JSON como una de las fuentes de datos para crear tablas. Puedes importar manualmente JSON como fuente de datos para crear una nueva tabla. Esto tiene varios inconvenientes y puede no ser adecuado para cargar conjuntos de datos dinámicos
3. Importación programática (codifica y crea tu conector)
Crear un conector de datos personalizado en lenguajes de programación como Python. Este método requiere un buen conocimiento de las API de Google y experiencia en codificación para cargar datos JSON en BigQuery.
Exploraremos cada uno de los métodos anteriores para cargar JSON en BigQuery.
Cómo importar dinámicamente datos JSON a BigQuery con Coupler.io
Puedes conectar la API a BigQuery o cargar datos de archivos JSON publicados en línea con tres sencillos pasos:
Paso 1: Recopilar datos
Haz clic en Proceed en el siguiente formulario para crear un nuevo importador con JSON como source y BigQuery como destination. Se te ofrecerá empezar a utilizar Coupler.io de forma gratuita sin necesidad de tarjeta de crédito.
Con Coupler.io, también puedes importar JSON a Google Sheets, Excel, almacenes de datos y herramientas de BI.
Configura los siguientes parámetros:
- Introduce la JSON URL (a menudo denominada URL de punto final) desde la que el importador puede recuperar los datos. Esta dirección puede variar en función de los datos que desees recuperar. Por ejemplo:

- Selecciona el HTTP Method apropiado. GET está configurado por defecto y será tu HTTP Method en la mayoría de los casos. Para más información, consulta la documentación oficial de la API de cada aplicación o servicio.
- También puedes especificar los Request headers y URL query parameters si la API los requiere. Esto es lo que puede parecer

Paso 2: Transformar los datos
En este paso, Coupler.io previsualizará hasta 500 filas de la fuente de datos. Puedes transformar los datos antes de importarlos a BigQuery:
- Administrar columnas – Elige las columnas que deseas importar de JSON a BigQuery. Puedes ocultar las columnas innecesarias desde aquí.
- Filtrar y ordenar datos: establece condiciones para extraer datos específicos de JSON en BigQuery. Puedes especificar múltiples condiciones con los operadores AND & OR. Ordena los datos en orden ascendente o descendente de una columna específica.
- Añadir nuevas columnas – Puedes crear una columna calculable con datos calculados a partir de columnas existentes. Más información sobre columnas calculables en Coupler.
- Combinar datos: elige la forma de combinar los datos si has conectado varias fuentes de datos.
Paso 3: Cargar datos y programar la actualización
Conecta tu cuenta BigQuery. Para ello, deberás cargar el JSON key file de Google Cloud. Introduce el Dataset name y el Table name donde deseas importar los datos. Se creará un nuevo conjunto de datos/tabla si no se encuentra el destino proporcionado.
El importador detectará automáticamente el esquema de datos. Sin embargo, puedes definir el esquema de la tabla manualmente desactivando la opción.

Opcionalmente, puedes configurar el importador para que añada una marca de tiempo de la última actualización y sustituya o añada nuevos datos en la tabla BigQuery.
Lo mejor de utilizar el conector Coupler.io es que permite cargar automáticamente datos JSON en BigQuery a intervalos regulares. Activa la opción Automatic data refresh y configura el horario deseado.

Guarda y ejecuta tu importador, y espera unos segundos mientras tus datos JSON se cargan en BigQuery.
Ahora, ¡podemos sentarnos y relajarnos! Coupler.io ejecutará trabajos de carga automatizados a intervalos regulares según lo configurado y mantendrá los datos de BigQuery actualizados. No requiere ninguna otra intervención. ¡Y eso es una conexión automatizada JSON a BigQuery!
Uso manual de JSON para introducir datos en una tabla de BigQuery
Puedes cargar manualmente el archivo en formato JSONL desde tu computadora o almacenamiento en la nube y crear una tabla en BigQuery.
Pero, ¿qué significa este formato?
En el Newline Delimited JSON (también conocido como NDJSON o JSONL), los objetos JSON están separados por una nueva línea.
Ejemplo de sintaxis JSON:[ {“name”: “Alice”, “age”: 25, “city”: “New York”}, {“name”: “Bob”, “age”: 32, “city”: “San Francisco”}, {“name”: “Eve”, “age”: 28, “city”: “Los Angeles”}, {“name”: “Michael”, “age”: 40, “city”: “Chicago”}]
Ejemplo de sintaxis JSONL:{“name”: “Alice”, “age”: 25, “city”: “New York”}{“name”: “Bob”, “age”: 32, “city”: “San Francisco”}{“name”: “Eve”, “age”: 28, “city”: “Los Angeles”}{“name”: “Michael”, “age”: 40, “city”: “Chicago”}
Para ello, puedes utilizar la aplicación gratuita JSON to NDJSON Online Converter.
Una vez que tengas listos los datos JSON en formato delimitado por nuevas líneas, ve a Google BigQuery Explorer y selecciona el conjunto de datos para importar el JSON.
Haz clic en el botón Create Table de la esquina superior derecha.

A continuación, aparecerá la pantalla Crear tabla, en la que deberás configurar las siguientes opciones de origen:
- Create table from – Seleccione la carga para importar JSON desde tu computadora. Puedes seleccionar otras opciones relevantes, por ejemplo, Google Cloud Storage Bucket.
- Select file – Carga el archivo aquí.
- File format – Selecciona JSONL (Newline delimited JSON).
Rellena el nombre de la Table en la sección de destino.
Marca la opción Auto detect para que BigQuery detecte el tipo de datos de cada columna y analice los datos en consecuencia. Alternativamente, puedes declarar el esquema de datos manualmente manteniendo esta opción desmarcada.

Haz clic en Create Table para importar JSON a BigQuery.
Una vez finalizada la importación, podrás encontrar la tabla con los datos JSON en BigQuery.

El método de importación JSON manual es muy básico. Requiere un formateo correcto de los datos en formato JSONL. Además, no es una forma eficiente de importar fuentes de datos JSON dinámicas a BigQuery.
¿Cómo resolver un error común de análisis JSON en BigQuery?
Muchos usuarios informan de un error de análisis JSON al cargar datos. Se debe principalmente a la incompatibilidad de los datos JSON normales con BigQuery. El error se lee:
“Error while reading data, error message: Failed to parse JSON: Unexpected end of string; Unexpected end of string; Expected key”
Puedes resolver fácilmente este error convirtiendo los datos de JSON estándar a formato JSON delimitado por nuevas líneas. Hay un montón de herramientas gratuitas en línea para ayudarte con eso. Echa un vistazo a JSON a NDJSON Online Converter.
Integración de JSON en BigQuery mediante API (método programático)
Google ofrece API para sus Cloud Platform Services. La Application Programming Interface (API) es un protocolo estándar para el intercambio de información entre aplicaciones. Actúa como un mediador en el intercambio de información.
Puedes utilizar la API para interactuar mediante programación con BigQuery y realizar acciones como importar JSON.
Pero antes, tendrás que habilitar la API de BigQuery en tu Google Cloud Console y obtener la clave de la API.
Accede a tu Google Cloud Console y ve al Left Menu > APIs and Services > Library.
Busca la BigQuery API en la biblioteca y actívala.

Una vez habilitada la API BigQuery, descarga la clave JSON de la API desde Google Console.
Ahora, puedes utilizar esta clave de API descargada para autenticar solicitudes a BigQuery desde un programa. Vamos a entender esto mejor a través de un ejemplo.
Script Python para importar JSON a BigQuery
La API de BigQuery puede utilizarse con programas escritos en Python, Java, C y otros lenguajes similares. He aquí un ejemplo de cómo hacerlo con Python.
Para importar JSON a BigQuery a través de la API, deberás instalar la biblioteca BigQuery Python.
Ejecuta el siguiente comando:
pip install google-cloud-bigquery
Una vez instalada la biblioteca Google Cloud BigQuery, puedes utilizar sus funciones para crear tablas en BigQuery a partir del JSON. Por ejemplo:
from google.cloud import bigquery from google.oauth2 import service_account # Replace with your own JSON file path and BigQuery dataset and table details json_file_path = "path/to/data/source.json" project_id = "bigquery-project-id" dataset_id = "bigquery-dataset-id" table_id = "bigquery-table-id" # Set up credentials (replace 'path/to/your/credentials.json' with your service account key file) credentials = service_account.Credentials.from_service_account_file( "path/to/your/credentials.json", ) # Create a BigQuery client client = bigquery.Client(project=project_id, credentials=credentials) # Specify the dataset and table to which you want to upload the data dataset_ref = client.dataset(dataset_id) table_ref = dataset_ref.table(table_id) # Load the JSON file into BigQuery job_config = bigquery.LoadJobConfig() job_config.source_format = bigquery.SourceFormat.NEWLINE_DELIMITED_JSON job_config.autodetect = True # This allows BigQuery to automatically detect the schema with open(json_file_path, "rb") as source_file: job = client.load_table_from_file(source_file, table_ref, job_config=job_config) job.result() # Wait for the job to complete print(f"Loaded {job.output_rows} rows into {table_id}")
En el script anterior, sustituye los elementos necesarios y guárdalo como script Python Corre el programa Python, y convertirá la cadena JSON en tablas BigQuery.
Este programa es compatible con Newline Delimited JSON; por lo tanto, tendrás que convertir el archivo fuente antes de exportarlo. Alternativamente, puedes crear una función adicional para convertir JSON a formato JSONL, si eres un programador profesional.
Este script es un ejemplo básico de carga de JSON desde una computadora local usando Python. Puedes modificarlo para automatizar el proceso de exportación o incluso acceder a JSON desde otros servidores vía API. Pero requiere conocimientos de programación de alto nivel.
También necesitarás un servidor o un entorno en la nube para ejecutar el programa. Este puede ser un método costoso a largo plazo.
¿Cuál es la forma más eficaz de cargar datos JSON en BigQuery?
LCargar datos JSON en BigQuery es una forma excelente de extraer información significativa de grandes volúmenes de datos. BigQuery permite almacenar datos en Arrays y Structs, ofreciendo más información. Puedes elegir varias opciones para realizar la transferencia de datos de JSON a BigQuery.
Si estás trabajando con fuentes de datos estáticas, que no requieren actualizaciones ocasionales, entonces la opción manual puede ser la elección correcta. El método programático para cargar JSON en BigQuery parece adecuado para científicos de datos y desarrolladores.
En conjunto, el conector Coupler.io es el más eficiente si trabajas con fuentes de datos dinámicas. Además, Coupler.io ofrece funciones avanzadas, como la transformación de datos y la costura, que llevan el análisis de datos al siguiente nivel.
Automatiza la exportación de datos a BigQuery con Coupler.io
Empieza gratis