sábado, 10 de mayo de 2025

GCP: línea de comandos de bigquery

La herramienta de línea de comandos bq es una herramienta de línea de comandos basada en Python para BigQuery.

Nos sirve para ejecutar consultas SQL de BigQuery. Veamos algunos ejemplos de cómo usarlo:

Listar version:

1
$ bq version

Obtener ayuda:

1
$ bq help

Listar datasets, jobs, etc.

1
2
3
$ bq ls
$ bq ls --location=US
$ bq ls --dataset=mydataset

Mostrar información sobre los dataset, jobs, etc.:

1
2
3
$ bq show mydataset
$ bq show mydataset.mytable
$ bq show --job=job_id

Eliminar datasets, tablas, etc.:

1
2
3
$ bq rm mydataset
$ bq rm mydataset.mytable
$ bq rm --job=job_id

Consultar datos de una tabla:

1
$ bq query --nouse_legacy_sql "SELECT name, age FROM mi_dataset.mi_tabla WHERE age > 30 LIMIT 10"

Crear un nuevo dataset:

1
$ bq mk --dataset mi_proyecto:mi_nuevo_dataset

Carga un archivo CSV local a una tabla en BigQuery:

1
$ bq load --source_format=CSV --autodetect mi_dataset.mi_tabla ./datos.csv

Exportar datos a Google Cloud Storage

1
$ bq extract --destination_format=CSV mi_dataset.mi_tabla gs://mi_bucket/salida.csv

Ejecutar un script desde un archivo:

1
$ bq query --nouse_legacy_sql < query.sql

Verificar el estado de un job:

1
$ bq show -j job_id

Para poder usarlo, debes estar autenticado:

1
$ gcloud auth login

Además de haber configurado tu proyecto:

1
$ gcloud config set project mi_proyecto

Aquí un script shell para realizar una consulta:

myshell.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/bash
gcloud config set project myProject
bq query --use_legacy_sql=false --destination_table=myDataset.myTable \
'SELECT
   word,
   SUM(word_count) AS count
 FROM
   `bigquery-public-data`.samples.shakespeare
 WHERE
   word LIKE "%raisin%"
 GROUP BY
   word'

Dar permisos:

1
$ sudo chmod 777 myshell.sh

Ejecución:

1
$ sh -x myshell.sh

La herramienta de línea de comandos bq de Google BigQuery es muy útil para interactuar con BigQuery desde la terminal.

En próximas entregas ampliaremos los ejemplos de su uso.

Enlaces:

https://medium.com/data-nuggets/11-basic-bigquery-bq-commands-for-data-interaction-59e0d7cee84c
https://stackoverflow.com/questions/76906880/how-to-run-saved-queries-using-bq-command-line-tool
https://cloud.google.com/bigquery/docs/bq-command-line-tool

No hay comentarios:

Publicar un comentario

Composer, un administrador de dependencias para PHP

Composer es un administrador de dependencias para PHP que rastrea las dependencias locales de sus proyectos y bibliotecas. Para ...

Etiquetas

Archivo del blog