
¿No sabes por dónde empezar a modelar tus datos en Google BigQuery? Aquí te lo mostramos con un repo y un ejemplo sencillos.
Foto de Steady Hand Co. en Unsplash. Ábrete paso entre los datos en bruto por un camino claro.
Hoy en día circula por la red una enorme cantidad de datos desordenados. Y, casi siempre, hay personas muy frustradas preguntándose por dónde empezar a darle sentido a todo esto y, sobre todo, cómo estructurarlo para que sea útil dentro de su empresa.
Aquí te propongo usar un script y un repo sencillos que te permiten enviar tus datos ya limpios como Views a Google BigQuery. Además, puedes apoyarte en el templating de Jinja para facilitarte la vida e incluso predefinir algunas variables si así lo prefieres.
¿Cómo funciona?
En un archivo llamado select_101.sql.j2 puedes tener esta consulta:
SELECT {{aNumber}} as numLa referencia del template aNumber se toma de un conjunto predefinido de variables en un archivo de configuración configuration.json:
{ "aNumber": 101}También tienes un archivo de schema llamado select_101.json:
{ "metric": "First example", "metric_description": "Select only a constant number as output", "purpose" : "", "usage_example" : "", "usage_description" : "", "fields": [\```\\```\ {\```\\```\ "field": "num",\```\\```\ "description": "A small number",\```\\```\ "type": "INTEGER",\```\\```\ "typical_values": [ 4 ]\```\\```\ }\```\\```\ ]````}
Ya está todo listo para hacer el deploy a Google BigQuery:
`-m` te permite indicar la métrica a desplegar
`-v` indica que quieres desplegar una view
`-d` recibe tu dataset como input
`-p` recibe tu projectId como input./compile.py -m select_101.sql.j2 -v -d
Y este es el resultado:

## Templates dentro de templates…
También puedes incluir un template dentro de otro.
En un archivo llamado `select_101_include.sql.j2` puedes tener esta consulta:SELECT *
FROM (
{% include 'select_101/select_101.sql.j2' %}
)
La consulta se renderiza y se despliega así:SELECT * FROM ( SELECT 101 as num )
¡A modelar se ha dicho!
¿Quieres leer más? Pásate por nuestro [blog](https://doit.com/blog/) o [sigue a Eben en Twitter](https://twitter.com/eebsidian).
## Recursos
[https://github.com/ebendutoit/google-bigquery-data-modeller](https://github.com/ebendutoit/google-bigquery-data-modeller)