Bigquery ETL
Перейти к файлу
Anna Scholtz 70a355a0dd
Require authentication for dry run function and run gcloud auth when … (#5171)
* Require authentication for dry run function and run gcloud auth when not logged in

* authenticate step in CI, remove interactive gcloud auth

* Skip dryrun for ltv_state_values_v2

* Refactor skip_fork in CI, clarify login requirements
2024-03-06 15:06:29 -08:00
.circleci Require authentication for dry run function and run gcloud auth when … (#5171) 2024-03-06 15:06:29 -08: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 Require authentication for dry run function and run gcloud auth when … (#5171) 2024-03-06 15:06:29 -08:00
docs Support waiting for tables/partitions to exist before running ETLs (#5039) 2024-02-15 14:38:52 -08:00
script Dependabot/pip/black 24.1.1 fix (#5027) 2024-02-19 15:27:34 +01:00
sql Bug 1873431 - restrict access to tiktok reporter datasets (#5159) 2024-03-05 22:42:40 +00:00
sql_generators Deng-2845: Remove default deprecated false (#5118) 2024-02-27 10:33:50 -08:00
tests DENG-2950 - Rename drafting -> initiate, modify json output of scheduled command (#5164) 2024-03-05 09:12:47 -05:00
.bigqueryrc
.dockerignore
.eslintrc.yml
.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 Fix typo in `CODEOWNERS` path for `search_derived.search_revenue_levers_daily_v1`. (#4837) 2024-01-16 15:05:42 -08: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
README.md Require authentication for dry run function and run gcloud auth when … (#5171) 2024-03-06 15:06:29 -08:00
bqetl Update grpcio to a version that provides darwin arm64 builds (#3819) 2023-05-22 12:08:49 -07:00
bqetl_project.yaml Require authentication for dry run function and run gcloud auth when … (#5171) 2024-03-06 15:06:29 -08:00
conftest.py Remove java dependency in favor of sqlglot (#3755) 2023-05-17 14:56:42 -07:00
dags.yaml DENG-2095 Create users_services_daily table for accounts_backend (#4906) 2024-02-19 09:07:32 +01:00
pyproject.toml Package bqetl and publish to PyPI (#4917) 2024-02-05 09:04:04 -08:00
pytest.ini Remove java dependency in favor of sqlglot (#3755) 2023-05-17 14:56:42 -07:00
requirements.in Bump pytest-isort from 3.1.0 to 4.0.0 (#5172) 2024-03-06 08:56:32 -08:00
requirements.txt Bump pytest-isort from 3.1.0 to 4.0.0 (#5172) 2024-03-06 08:56:32 -08: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

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 (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. Run gcloud auth login --update-adc to authenticate against GCP.
  • 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.