Extracting useful information from unstructured data often requires machine learning. SensorBee works well with online machine learning algorithms by storing machine learning models as user-defined states. It supports various machine learning toolkits, including Chainer and some components of Jubatus. In addition, SensorBee’s query language enables stateful temporal data handling.
Operations and queries are written in BQL, a dialect of CQL (Continuous Query Language). BQL is a very powerful language and is easy to learn for people already familiar with SQL. BQL is schemaless, and uses a JSON-like data structure as its internal data structure. It also provides many features useful for dealing with JSON.
SensorBee is lightweight: it has a minimum footprint of less than 30MB and can be run on a small computer such as Raspberry Pi. Although SensorBee is currently not small enough to be embedded in a very small device, a future development goal is to enable BQL statements to run on a very weak chip.
is written in Go and it requires that Go be installed in advance. Please look at the official installation guide to install Go tools and set up its development environment (i.e. setting
GOPATH environment variables).
$ go get gopkg.in/sensorbee/sensorbee.v0/...
build_sensorbeecommands are installed under $GOPATH/bin.
$ sensorbee run
sensorbeecommand must be built.
$ ls build.yaml $ cat build.yaml plugins: - github.com/sensorbee/twitter/plugin $ build_sensorbee sensorbee_main.go $ ls build.yaml sensorbee sensorbee_main.go