river-event-stream
v0.1.0
Published
Event Stream adapter for the River stream processing lib
Readme
River Event Stream Adapter
This module forms a bridge to allow River to integrate into an event-stream pipline.
More on River at: https://github.com/andykent/river More on Event Stream at: https://github.com/dominictarr/event-stream
A Simple Example
es = require('event-stream')
es.query = require('river-event-stream')
es.pipeline(
process.openStdin(),
es.split(),
es.parse(),
es.query('SELECT name FROM stream'),
process.stdout
)es.query(sqlString, [options])
This is the only pulic method that is exposed and takes an SQL query string as input along with some optional configuration options.
The options are...
includeInserts: true by default, setting to false will mean insert events aren't outputted.includeRemoves: false by default, setting to true will emit remove events. These can be useful when doing aggregations.streamName: 'stream' by default, you can pass any valid SQL identifier to be used to identify your stream in the query e.g. 'FROM myStream'multiplexed: false by default, setting multiplexed to true allows you to run a query that joins on mutiple streams. When this option is true the input stream should take the form of tuples, e.g.['myStream', {data}], ['myOtherStream', {data}], ['myStream', {data}]
Note: When includeInserts and includeRemoves are both true the stream emits tuples so you can differentiate between inserts and removes. They look like this... ['insert', {data}] and ['remove', {data}]
