bigquery-etl/sql_generators
Lucia 586eacd666
DENG-762 Adjust mobile views to query Glean data (#3690)
* DENG-762 Adjust the Focus Android view to query Glean data starting 2023-01-01.

* DENG-762 Align views and DAG.

* DENG-762 Update DAG bqetl_core

---------

Co-authored-by: Lucia Vargas <lvargas@mozilla.com>
Co-authored-by: Winnie Chan <10429026+wwyc@users.noreply.github.com>
2023-04-03 11:29:35 -07:00
..
active_users DENG-762 Adjust mobile views to query Glean data (#3690) 2023-04-03 11:29:35 -07:00
country_code_lookup Adding 3 more Google Analytic country spellings. (#3686) 2023-03-27 14:12:37 -04:00
derived_view_schemas Add --use_cloud_function option when generating SQL queries (#3565) 2023-02-03 14:10:04 -08:00
events_daily Add `telemetry_agent` column to VPN `events_daily` table (VPN-3934) (#3603) 2023-02-22 10:10:35 -08:00
experiment_monitoring Add validation_failed counts to experiment monitoring datasets (#3623) 2023-03-15 14:34:05 -07:00
feature_usage Change `bqetl format` to improve readability of `CASE` statements (#3546) 2023-02-03 14:35:59 -08:00
glean_usage Jinja queries support (#3691) 2023-03-30 11:00:12 -07:00
search Change `bqetl format` to improve readability of `CASE` statements (#3546) 2023-02-03 14:35:59 -08:00
stable_views Add --use_cloud_function option when generating SQL queries (#3565) 2023-02-03 14:10:04 -08:00
README.md DENG-601 Update sql-generators README with deployment info. (#3562) 2023-02-02 18:48:43 +01:00

README.md

SQL generators

sql_generators/ contains scripts for generating SQL queries. Generated SQL query code should not be checked in to main. The scripts for generating SQL queries are executed by CI only and will are followed by generating Airflow DAGs.

Expected structure

The directories in sql_generators/ represent the generated queries and will contain all of the scripts and templates necessary to generate these queries. Each query-specific directory will contain a __init__.py file that contains the query generation logic. Optionally, a templates/ directory can be added which contains the Jinja templates queries are generated from.

Each __init__.py file needs to implement a generate() method that is configured as a click command. The bqetl CLI will automatically add these commands to the ./bqetl query generate command group.

After changes to a schema or adding new tables, the schema is automatically derived from the query and deployed the next day in DAG bqetl_artifact_deployment. Alternatively, it can be manually generated and deployed using ./bqetl generate all and ./bqetl query schema deploy.