Bigquery ETL
Перейти к файлу
Frank Bertsch 104ece82d9
Add derived stub attribution logs (#4557)
* Add derived stub attribution logs

This table keeps triplets from the stub attribution logs.
The triplet of (dl_token, ga_client_id, stub_session_id)
will only ever appear once here.

See the associated decision brief:
https://docs.google.com/document/d/1L4vOR0nCGawwSRPA9xiR8Hmu_8ozCGUecXAtBWmGGA0/edit

* Move stub attribution table to new dataset

In order to ensure limited access to the stub attribution service
data without significantly decreasing developer velocity, we
move these tables to a new dataset. That dataset has the defaults
we want for all stub attribution log data:
- Defaults to just read access to data-science/DUET workgroup
- No read/write access for DE

We will backfill via the bqetl_backfill DAG.

* Rename view

* Use correct dataset name in view

* Skip dryrun; no access
2023-11-17 16:36:48 -05:00
.circleci Add output_dir to command dag generate. (#4512) 2023-11-02 16:30:29 +01:00
.github Set dependabot reviewers to wg team (#4382) 2023-10-05 12:16:43 -07:00
.vscode Add Visual Studio Code debug configuration for current Python file. (#3457) 2022-12-13 13:07:27 -08:00
bigquery_etl Add session date param; fix checks CLI bug (#4579) 2023-11-17 15:33:23 -05:00
docs Remove generated DAGs from main (#4507) 2023-11-01 15:05:59 -07:00
script added a debug message and flag for when authenticating to gcloud (#3602) 2023-02-23 18:43:24 +01:00
sql Add derived stub attribution logs (#4557) 2023-11-17 16:36:48 -05:00
sql_generators Add back normalized_app_id (#4580) 2023-11-17 12:06:53 -08:00
tests Add derived stub attribution logs (#4557) 2023-11-17 16:36:48 -05:00
.bigqueryrc
.dockerignore Use zetasql to get dependencies for dag generation (#1817) 2021-02-18 17:49:46 -05:00
.eslintrc.yml Ran YAMLlint on all yaml files and resolved linting issues (fixes #1297) (#1481) 2020-10-29 17:24:55 -07:00
.flake8 Add and incrementally populate a table for google ads campaign cost metrics (#3468) 2023-01-11 15:58:10 -06:00
.gitignore feat(): Adding ETL for monitoring_airflow datasets (#3204) 2022-10-12 10:57:24 +01:00
.isort.cfg Automatically sort python imports (#1840) 2021-02-24 17:11:52 -05:00
.pre-commit-config.yaml Update pre-commit plugins to match `requirements.txt`. (#3737) 2023-04-26 08:31:48 -07:00
.yamllint.yaml Increase yamllint max line length (#3469) 2022-12-16 12:23:32 -08:00
CODEOWNERS add query_id and username columns to bigquery_usage_v2 table - joinin… (#4203) 2023-09-22 10:15:37 -07:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md Add CODEOWNERS and restricted access datasets documentation (#2524) 2021-12-21 20:25:05 +00:00
Dockerfile Remove ZetaSQL kludges. (#3898) 2023-06-05 18:03:07 +00:00
GRAVEYARD.md Remove asn_aggregates ETL (#2580) 2021-12-15 18:28:29 +00:00
LICENSE Add MPL license (#2353) 2021-09-20 17:59:47 +00:00
M1_MAC_SETUP.md Remove java dependency in favor of sqlglot (#3755) 2023-05-17 14:56:42 -07:00
README.md Fix Status Badge on README (#4229) 2023-09-01 10:36:44 -04:00
bqetl Update grpcio to a version that provides darwin arm64 builds (#3819) 2023-05-22 12:08:49 -07:00
bqetl_project.yaml Add derived stub attribution logs (#4557) 2023-11-17 16:36:48 -05:00
conftest.py Remove java dependency in favor of sqlglot (#3755) 2023-05-17 14:56:42 -07:00
dags.yaml Add ga_sessions_v1 table & view (#4554) 2023-11-16 15:58:33 -05:00
pytest.ini Remove java dependency in favor of sqlglot (#3755) 2023-05-17 14:56:42 -07:00
requirements.in Bump sqlglot from 19.0.1 to 19.0.3 (#4521) 2023-11-09 13:02:05 +01:00
requirements.txt Bump sqlglot from 19.0.1 to 19.0.3 (#4521) 2023-11-09 13:02:05 +01:00
setup.py Include all sql_gen files in package (#4490) 2023-10-27 16:12:16 -04:00

README.md

CircleCI

BigQuery ETL

This repository contains Mozilla Data Team's:

  • Derived ETL jobs that do not require a custom container
  • User-defined functions (UDFs)
  • Airflow DAGs for scheduled bigquery-etl queries
  • Tools for query & UDF deployment, management and scheduling

For more information, see https://mozilla.github.io/bigquery-etl/

Quick Start

Apple Silicon (M1) user requirement

Enable Rosetta mode for your terminal BEFORE installing below tools using your terminal. See our M1 Mac Setup Guide for more information

Pre-requisites

  • Pyenv (optional) Recommended if you want to install different versions of python, see instructions here. After the installation of pyenv, make sure that your terminal app is configured to run the shell as a login shell.
  • Homebrew (not required, but useful for Mac) - Follow the instructions here to install homebrew on your Mac.
  • Python 3.10+ - (see this guide for instructions if you're on a mac and haven't installed anything other than the default system Python).

GCP CLI tools

  • For Mozilla Employees or Contributors (not in Data Engineering) - Set up GCP command line tools, as described on docs.telemetry.mozilla.org. Note that some functionality (e.g. writing UDFs or backfilling queries) may not be allowed.
  • For Data Engineering - In addition to setting up the command line tools, you will want to log in to shared-prod if making changes to production systems. Run gcloud auth login --update-adc --project=moz-fx-data-shared-prod (if you have not run it previously).

Installing bqetl

  1. Clone the repository
git clone git@github.com:mozilla/bigquery-etl.git
cd bigquery-etl
  1. Install the bqetl command line tool
./bqetl bootstrap
  1. Install standard pre-commit hooks
venv/bin/pre-commit install

Finally, if you are using Visual Studio Code, you may also wish to use our recommended defaults:

cp .vscode/settings.json.default .vscode/settings.json
cp .vscode/launch.json.default .vscode/launch.json

And you should now be set up to start working in the repo! The easiest way to do this is for many tasks is to use bqetl. You may also want to read up on common workflows.