Skip to main content

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.11 - (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.

Releasing a new version of bqetl

To push a new version of bqetl to PyPI, update the version in pyproject.toml. The version numbers follow the CalVer scheme, with the Micro version numbers starting at 1. For example, for the first package version getting published in March 2024, the version would be 2024.3.1.

Metadata

Release files for mozilla-bigquery-etl 2025.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mozilla-bigquery-etl 2025.2.1
File Size Uploaded
mozilla_bigquery_etl-2025.2.1.tar.gz 3.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for mozilla-bigquery-etl 2025.2.1
File Interpreter ABI Platform
mozilla_bigquery_etl-2025.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 3.2 MB

Release files / mozilla_bigquery_etl-2025.2.1.tar.gz

Download URL mozilla_bigquery_etl-2025.2.1.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
9b5c041068087c3ddb5213e576477a657aae1d95e814abf5f927b84c2ab6ed92
BLAKE2b-256 checksum
How to use checksums
5a9efb81a014fed21595d50451adc9f7e949e3e037c5057b2c15f3189943f283
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release files / mozilla_bigquery_etl-2025.2.1-py3-none-any.whl

Download URL mozilla_bigquery_etl-2025.2.1-py3-none-any.whl
Size 280.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f2a76e2dd463c50bb79e41d80c59b7a10da6e5aa0a3cce5b10e3e7f70529df32
BLAKE2b-256 checksum
How to use checksums
a8d9130072613067fea234f69bbee99202f244e0428826f9d44296a5b68de920
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release history Release notifications | RSS feed

This release

2025.2.1 This release

2 release files

20.12.2

1 release file

20.12.1

1 release file

20.10.1

1 release file

20.9.6

1 release file

20.9.5

1 release file

20.9.4

1 release file

20.9.3

1 release file

20.9.2

1 release file

20.9.0

1 release file

20.8.0

1 release file

20.7.0

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page