BayesCardセットアップの注意点

BayesCardというベイジアンネットをベースとしたCardinality Estimationを行うシステムを試してる。

github.com

pythonのモジュール

使用にあたり、pythonのモジュールでちょっとハマったので備忘録として書いておく。numpyのバージョンに注意*1

それとspflowのインストールを忘れずに。

pip3 uninstall numpy
pip3 install numpy==1.19.2
pip3 install networkx
pip3 install numba
pip3 install pgmpy
pip3 install pomegranate==0.13.2
pip3 install sqlparse
pip3 install tables
pip3 install spflow
IMDBデータ

これもIMDBデータを使う。READMEにあるように、 http://homepages.cwi.nl/~boncz/job/imdb.tgz  をダウンロードし、 imdb-benchmarkというディレクトリ に展開しておく。

imdb-benchmarkはBayesCardと同じディレクトリ に作成する。

$ git clone https://github.com/wuziniu/BayesCard.git
$ mkdir imdb-benchmark 
$ cd imdb-benchmark
$ tar xvfz imdb.tgz

*1:pomegranateのバージョン依存性解決のため。