Skip to main content

Query runner for BigQuery. It automatically analyzes dependencies and runs only necessary queries in parallel.

Project description

bqrun

概要

ディレクトリの中にあるsqlファイルを全て読み、依存関係を解析し(あるファイルAでselect .. fromされているテーブルが別のファイルBでcreate tableされていた場合、 BはAより前に実行される)、順番に実行するためのMakefileを作成、makeを実行する。

外部依存

  1. docker
  2. graphviz(dotコマンド)

インストール

  1. pip install bqrun

前提

  1. 1つのディレクトリの中に全てのSQLファイルが入っていること
  2. 全てのSQLファイルは拡張子.sqlを持つこと、かつ、クエリ以外に.sqlで終わるファイルがないこと

大まかな動作

  1. 全SQLファイルを読んで依存関係を解析、依存関係に従ったMakefileを作成する
  2. このMakefileにより、各ファイルに対し以下のようなコマンドが実行される
    1. 各SQLファイルをbq queryに投げる
    2. done.<base name> というファイルを作成する(<base name>は、ファイル名の拡張子以外)
  3. 2回目以降の実行では、各ファイルについてdone.<base name>ファイルのタイムスタンプと、依存先のファイルのタイムスタンプを比較し再実行が必要な部分だけが実行される

オプション

  1. -p=<num>または--parallel=<num>: 並列実行数を指定(デフォルトは8)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bqrun-3.0.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

bqrun-3.0.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file bqrun-3.0.0.tar.gz.

File metadata

  • Download URL: bqrun-3.0.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.4 Darwin/22.6.0

File hashes

Hashes for bqrun-3.0.0.tar.gz
Algorithm Hash digest
SHA256 b82854cae9bfb381595c82101872cbe05a9ed70cf1e6fc1496834d87dd3939a5
MD5 19fa589a3de50da77c3ccab4f5a22a88
BLAKE2b-256 5aca046595be500049e4dfed9fc58c83d046d6f8bd517b821b3f37294d04b5a7

See more details on using hashes here.

File details

Details for the file bqrun-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: bqrun-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.4 Darwin/22.6.0

File hashes

Hashes for bqrun-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4842bbf1884e187d4537a9a98933e96ed8fd56ee8b6e57f3c84b17d862c97217
MD5 696061a38d1fcd31f276ed1a8e28721d
BLAKE2b-256 dd99bab92baaabbb02bf3660c406ae37f6cd37ec2e436280b4ec51cee1c82060

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page