Create a symlink to the main SDQL repository:
# clone the sdql repo somewhere (e.g. home directory)
cd ~ && git clone https://github.com/edin-dal/sdql/
# create a symlink here to the SDQL programs directory
cd - && ln -s ~/sdql/progs progs
Install pyenv
and pyenv-virtualenv
:
curl https://pyenv.run | bash
# follow these instructions to install pyenv-virtualenv
# https://github.com/pyenv/pyenv-virtualenv?tab=readme-ov-file#installing-as-a-pyenv-plugin
On macOS:
brew install pyenv
brew install pyenv-virtualenv
# follow these instructions if you get "Failed to activate virtualenv"
# https://github.com/pyenv/pyenv-virtualenv/issues/387
Get the required Python version:
export VERSION=$(cat pyproject.toml| grep -Poi '^python = "\K(\d+.\d+.\d+)')
On macOS run it as ggrep
after brew install grep
to use GNU grep:
export VERSION=$(cat pyproject.toml| ggrep -Poi '^python = "\K(\d+.\d+.\d+)')
Create an environment with the required version:
pyenv install $VERSION
pyenv virtualenv $VERSION sdql
Setting it as the local environment will activate it:
pyenv local sdql
Install the package manager poetry
:
curl -sSL https://install.python-poetry.org | python3 -
Install the required packages to your environment:
poetry install
Make sure you have datasets in progs/../datasets/tpch/
.
We suggest generating them with s -1
.
Then run the benchmarks as follows:
export PYTHONPATH=. && python __main__.py