bigquery-etl/sql_generators
Anna Scholtz a3100d7394
Fix skipping client_dedup (#4103)
2023-07-20 10:05:12 -07:00
..
active_users DENG-970 Only Glean in Focus Android view. (#3877) 2023-06-02 16:37:40 +00: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 Remove java dependency in favor of sqlglot (#3755) 2023-05-17 14:56:42 -07:00
experiment_monitoring Add validation_failed counts to experiment monitoring datasets (#3623) 2023-03-15 14:34:05 -07:00
feature_usage Split main_1pct (#4022) 2023-07-05 13:00:29 -07:00
glean_usage Fix skipping client_dedup (#4103) 2023-07-20 10:05:12 -07:00
search Change `bqetl format` to improve readability of `CASE` statements (#3546) 2023-02-03 14:35:59 -08:00
stable_views bug(1741487): Rename url2 and related fields in stable views (#4029) 2023-07-10 09:31:15 -07: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.