-
Notifications
You must be signed in to change notification settings - Fork 96
Quick Start: Local Mode
This section is a tutorial for installing Squall/Storm on your local machine.
-
Prerequisites: Make sure that you have
sbt
,Java
v7 (or higher) andScala
v2.10 (or higher) installed, and that they are on your systemPATH
. (Scala
is required only for some query plans). To check the versions (and their presence on systemPATH
), please runjava -version
andscala -version
. If you don't have the appropriate versions, please install them using instructions for your platform. Whilesbt
andJava
are available from the central repositories (provided by your operating system distribution),Scala
needs to be installed manually. For instance, the following commands installScala
on a Linux machine:$ wget http://www.scala-lang.org/files/archive/scala-2.10.4.deb $ sudo dpkg -i scala-2.10.4.deb $ sudo apt-get update $ sudo apt-get install scala
-
Squall is under continuous development at this point, and therefore to benefit from the latest improvements it is better to directly clone the repository from GitHub:
$ git clone https://github.com/epfldata/squall.git
-
To install Squall, simply run the following command in the
bin
directory ( you will have working internet connection to complete this step, in order to download some libraries ):$ ./install.sh
This script downloads
apache-storm-0.9.4
to the root directory of your Squall installation, it compiles Squall (the output issquall-core/target/squall-0.2.0.jar
) and downloads all the dependencies (the output issquall-core/target/squall-dependencies-0.2.0.jar
).install.sh
also installs DBToaster, which is a special local join operator used in some query plans. -
Installation is now completed. The following commands run Squall:
cd bin ./squall_local.sh ../test/squall/confs/local/0_01G_hyracks_ncl
If everything is set up correctly, you will get something like this:
All the tasks of the last component in total received 15000 tuples.
FURNITURE = 3007
AUTOMOBILE = 2979
MACHINERY = 2536
BUILDING = 3706
HOUSEHOLD = 2772
The script also checks the results (the expected results are provided in test/results
directory), and the last line of the output should be something like:
bash OK: Expected result achieved for username_0_01G_hyracks_ncl.
If everything worked fine, you are ready to go! You will find further documentation in the rest of the wiki. If this doesn't work, check the troubleshooting section or open an issue. If you want to recompile the code, please consult Recompilation.
In order to run Squall with a different query and/or different database size, please consult Squall Local Configs. Other pre-bundled local sql configurations are available here. SQL example queries over TPC-H schema are available in the squall-$VERSION/test/squall/sql_queries
directory, including Q3
, Q5
, Q7
, Q8
, Q9
and Q10
as well as the Hyracks query (a query over the TPC-H schema from [1]). The schema is specified as a txt file in squall-$VERSION/test/squall/schemas/tpch.txt
. A user can also easily provide its own schema. Before writing your own queries, please consult Supported features.
Squall building is managed by sbt. Sometimes you introduce changes to the source code, and you want to check if everything still works. Squall allows running and the pre-bundled query plans and checking their output by running a single command (the command should be issues from root Squall directory, which contains build.sbt
):
```
$ sbt test
```
[1] V. R. Borkar, M. J. Carey, R. Grover, N. Onose, and R. Vernica, “Hyracks: A flexible and extensible foundation for data-intensive computing.,” in ICDE (S. Abiteboul, K. B ̈hm, C. Koch, and K.-L. Tan, eds.), pp. 1151–1162, IEEE Computer Society, 2011.