Updated Documentation

dev
Bill 2 years ago
parent 988bf0158e
commit 10e93f28c6

@ -21,7 +21,6 @@ ENV IS_DOCKER_IMAGE=1 CXX=clang++-14
# First run will build cache into image # First run will build cache into image
RUN cd AQuery2 && python3 prompt.py RUN cd AQuery2 && python3 prompt.py
CMD cd AQuery2 && python3 prompt.py # CMD cd AQuery2 && python3 prompt.py
CMD echo "Welcome. Type python3 prompt.py to start AQuery." && cd AQuery2 && bash

@ -8,8 +8,9 @@ AQuery++ Database is a cross-platform, In-Memory Column-Store Database that inco
- See installation instructions from [docker.com](https://www.docker.com). Run **docker desktop** to start docker engine. - See installation instructions from [docker.com](https://www.docker.com). Run **docker desktop** to start docker engine.
- In AQuery root directory, type `make docker` to build the docker image from scratch. - In AQuery root directory, type `make docker` to build the docker image from scratch.
- For Arm-based Mac users, you would have to build and run the **x86_64** docker image because MonetDB doesn't offer official binaries for arm64 Linux. (Run `docker buildx build --platform=linux/amd64 -t aquery .` instead of `make docker`) - For Arm-based Mac users, you would have to build and run the **x86_64** docker image because MonetDB doesn't offer official binaries for arm64 Linux. (Run `docker buildx build --platform=linux/amd64 -t aquery .` instead of `make docker`)
- Finally run the image in **interactive** mode (`docker run -it --rm aquery`) - Finally run the image in **interactive** mode (`docker run -it aquery --name aquery`)
- If there is a need to access the system shell, type `dbg` to activate python interpreter and type `os.system('sh')` to launch a shell. - When you need to access the container again run `docker start -ai aquery`
- If there is a need to access the system shell within AQuery, type `dbg` to activate python interpreter and type `os.system('sh')` to launch a shell.
## CIMS Computer Lab (Only for NYU affiliates who have access) ## CIMS Computer Lab (Only for NYU affiliates who have access)
1. Clone this git repo in CIMS. 1. Clone this git repo in CIMS.
@ -39,16 +40,15 @@ AQuery++ Database is a cross-platform, In-Memory Column-Store Database that inco
AQuery is tested on mainstream operating systems such as Windows, macOS and Linux AQuery is tested on mainstream operating systems such as Windows, macOS and Linux
### Windows ### Windows
There're multiple options to run AQuery on Windows. You can use the native toolchain from Microsoft Visual Studio or gcc from Cygwin/MinGW or run it under Windows Subsystem for Linux. There're multiple options to run AQuery on Windows. But for better consistency I recommend using a simulated Linux environment such as **Windows Subsystem for Linux** (1 or 2), **Docker** or **Linux Virtual Machines**. You can also use the native toolchain from Microsoft Visual Studio or gcc from Winlabs/Cygwin/MinGW.
- For WSL, Docker or Linux virtual machines, see Linux, Docker sections below - Windows Subsystem for Linux (WSL, Recommended)
- For Visual Studio (Recommended): - Install WSL2 from [Microsoft Store](https://aka.ms/wslstore)
1. Install python3.6 or above from [official website](https://www.python.org/downloads/windows/) or Microsoft Store. - Install Ubuntu 22.04 LTS from [Microsoft Store](https://apps.microsoft.com/store/detail/ubuntu-22041-lts/9PN20MSR04DW), you can use your favorite distro but make sure you know how to install MonetDB on it.
2. Install Microsoft Visual Studio 2022 or later with **Desktop development with C++** selected. - Select Linux and then ubuntu in [MonetDB Easy Setup](https://www.monetdb.org/easy-setup/)
3. Clone AQuery repo from [Github](https://github.com/sunyinqi0508/AQuery2) - Install Python 3.6 or above
4. Install python requirements with pip `python3 -m pip install -r requirements.txt` - Install required packages in requirements.txt by `python3 -m pip install -r requirements.txt`
5. Change the build_driver variable in aquery_config.py to "MSBuild" - Run `python3 ./prompt.py` to start AQuery
6. The libraries and headers for Monetdb are already included in msc-plugins, however you can also choose to download them from [Monetdb Easy Setup](https://www.monetdb.org/easy-setup/) and put them in the same place.
- For Winlibs (Recommended): - For Winlibs (Recommended):
- Download latest winlibs toolchain from the [official website](https://winlibs.com/) - Download latest winlibs toolchain from the [official website](https://winlibs.com/)
@ -56,6 +56,14 @@ There're multiple options to run AQuery on Windows. You can use the native toolc
- Other steps can be either the same as Visual Studio or Cygwin/Mingw (below) without ABI break. - Other steps can be either the same as Visual Studio or Cygwin/Mingw (below) without ABI break.
- Copy or link `mingw64/libexec/gcc/<arch>/<version>/liblto-plugin.dll` to `mingw64/lib/bfd-plugins/` For Link time optimization support on gcc-ar and gcc-ranlib - Copy or link `mingw64/libexec/gcc/<arch>/<version>/liblto-plugin.dll` to `mingw64/lib/bfd-plugins/` For Link time optimization support on gcc-ar and gcc-ranlib
- For Visual Studio:
1. Install python3.6 or above from [official website](https://www.python.org/downloads/windows/) or Microsoft Store.
1. Install Microsoft Visual Studio 2022 or later with **Desktop development with C++** selected.
2. Clone AQuery repo from [Github](https://github.com/sunyinqi0508/AQuery2)
3. Install python requirements with pip `python3 -m pip install -r requirements.txt`
4. Change the build_driver variable in aquery_config.py to "MSBuild"
5. The libraries and headers for Monetdb are already included in msc-plugins, however you can also choose to download them from [Monetdb Easy Setup](https://www.monetdb.org/easy-setup/) and put them in the same place.
- For CygWin/MinGW: - For CygWin/MinGW:
1. Install gcc and python3 using its **builtin package manager** instead of the one from python.org or windows store. (For Msys2, `pacman -S gcc python3`). Otherwise, ABI breakage may happen. 1. Install gcc and python3 using its **builtin package manager** instead of the one from python.org or windows store. (For Msys2, `pacman -S gcc python3`). Otherwise, ABI breakage may happen.
2. Clone AQuery repo from Github 2. Clone AQuery repo from Github

@ -1,10 +1,10 @@
#!/usr/bash #!/usr/bash
echo "Don't execute this script if it's not on CIMS servers." echo "Don't execute this script if it's not on CIMS servers."
echo "run this script with source command. e.g. \`source ./cims.sh\` or \`. ./cims.sh\`" echo "run this script with source command. e.g. source ./cims.sh or . ./cims.sh"
module load g++-11.2 module load gcc-11.2
PWD=`pwd` PWD=`pwd`
export LD_LIBRARY_PATH=$PWD/usr/lib64:$LD_LIBRARY_PATH:/lib:/lib64:/usr/lib:/usr/lib64 export LD_LIBRARY_PATH=$PWD/usr/lib64:$LD_LIBRARY_PATH:/lib:/lib64:/usr/lib:/usr/lib64
export AQ_MONETDB_LIB=-L$PWD/usr/lib64 export AQ_MONETDB_LIB=-L$PWD/usr/lib64
export AQ_MONETDB_INC=-I$PWD/usr/include/monetdb/ export AQ_MONETDB_INC=-I$PWD/usr/include/monetdb/
export CXX=g++-11.2 export CXX=g++-11.2
export PCH=1 # Change to 0 export PCH=1

@ -5,7 +5,6 @@ FUNCTIONS (
fit() -> bool, fit() -> bool,
predict() -> vecint predict() -> vecint
); );
create table tb(x int); create table tb(x int);
create table tb2(x double, y double, z double); create table tb2(x double, y double, z double);
insert into tb values (0); insert into tb values (0);

@ -10,3 +10,4 @@ FROM network
ASSUMING ASC src, ASC dst, ASC _time ASSUMING ASC src, ASC dst, ASC _time
GROUP BY src, dst, sums (deltas(_time) > 120) GROUP BY src, dst, sums (deltas(_time) > 120)
-- Assuming preserve order at the end.
Loading…
Cancel
Save