bqrun
概要
ディレクトリの中にあるsqlファイルを全て読み、依存関係を解析し(あるファイルAでselect .. fromされているテーブルが別のファイルBでcreate tableされていた場合、
BはAより前に実行される)、順番に実行するためのMakefileを作成、makeを実行する。
外部依存
- docker
- graphviz(dotコマンド)
インストール
pip install bqrun
前提
- 1つのディレクトリの中に全てのSQLファイルが入っていること
- 全てのSQLファイルは拡張子
.sqlを持つこと、かつ、クエリ以外に.sqlで終わるファイルがないこと
大まかな動作
- 全SQLファイルを読んで依存関係を解析、依存関係に従ったMakefileを作成する
- このMakefileにより、各ファイルに対し以下のようなコマンドが実行される
- 各SQLファイルを
bq queryに投げる done.<base name>というファイルを作成する(<base name>は、ファイル名の拡張子以外)
- 各SQLファイルを
- 2回目以降の実行では、各ファイルについて
done.<base name>ファイルのタイムスタンプと、依存先のファイルのタイムスタンプを比較し再実行が必要な部分だけが実行される
オプション
-p=<num>または--parallel=<num>: 並列実行数を指定(デフォルトは8)
Release files for bqrun 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bqrun-2.0.1.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bqrun-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.2 kB
Release files / bqrun-2.0.1.tar.gz
| Download URL | bqrun-2.0.1.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cc912d664c06fe9c3d2d75439989a1f570a36cba6c55eaa65d005acf4afcc164
|
|
BLAKE2b-256 checksum How to use checksums |
82db1fa8d710c4a581aa08ae1ba7f3c55cc48be2d5d2ef9bf65c832595b60bb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.13 CPython/3.10.2 Linux/5.8.0-1038-gcp
|
Release files / bqrun-2.0.1-py3-none-any.whl
| Download URL | bqrun-2.0.1-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
081ae6700ab1ee52ca2db49f281fb176b696ad5d30e04d3b43cf941085349543
|
|
BLAKE2b-256 checksum How to use checksums |
e864168c44689f5e3940019099c170fe8b3c4989672a321f4ba6f4033e5ec544
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.13 CPython/3.10.2 Linux/5.8.0-1038-gcp
|