BQL is a SQL-like query language specifically designed for the Bullet query engine, which provides an easy-to-use yet powerful interactive SQL-like interface.
This project contains a BQL parser built in ANTLR 4. A BQL query will be parsed, classified, validated and extracted to a Bullet Query.
Bullet-BQL is created to provide users with a friendly SQL-like layer to manipulate the power of Bullet query engine.
-
The Bullet-BQL artifact can be obtained from JCenter.
-
To run the tool from the command line, first compile:
mvn clean compile
Then you can use bullet-bql to parse BQL strings into Bullet JSON queries. To run:
mvn exec:java
-
Bullet-BQL is currently being integrated into Bullet-Service, and will provide a BQL endpoint directly.
-
Build a Bullet Query from a BQL string.
Simply construct a
BulletQueryBuilder
and callbuildQuery(String bql)
. A Bullet Query is returned. -
You can change the max query length in
BQLConfig
by altering the.yaml
.
- BQL - Bullet Docs to see the BQL grammar.
- Examples - Bullet Docs to see BQL query examples.
- Spark Quick Start to start with a Bullet instance running locally on Spark.
- Storm Quick Start to start with a Bullet instance running locally on Storm.
- Spark Architecture to see how Bullet is implemented on Storm.
- Storm Architecture to see how Bullet is implemented on Storm.
- Setup on Spark to see how to setup Bullet on Spark.
- Setup on Storm to see how to setup Bullet on Storm.
- API Examples to see what kind of queries you can run on Bullet.
- Setup Web Service to setup the Bullet Web Service.
- Setup UI to setup the Bullet UI.
Please refer to the contributing.md file for information about how to get involved. We welcome issues, questions, and pull requests. Pull Requests are welcome.
This project is licensed under the terms of the Apache 2.0 open source license. See LICENSE file for terms.