New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More

bqrun

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bqrun

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

3.0.0
Maintainers
1

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>は、ファイル名の拡張子以外)
  • 2回目以降の実行では、各ファイルについてdone.<base name>ファイルのタイムスタンプと、依存先のファイルのタイムスタンプを比較し再実行が必要な部分だけが実行される

オプション

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

Keywords

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts