Using StreamLab Sinks

A sink is a destination for rows of data, usually an external file system, message bus, or database. In s-Server, a sink consists of a stream and a pump to fill it (a pump moves data from one location to another). Internally, StreamLab uses sinks to connect guides with each other.

From the Sinks page you can create a range of sinks, such as those that write to files, message buses, or external databases. When you create a sink you define its columns by name and type (for example, “Temperature” type DOUBLE).

Once you create sinks, they are available via the - route to sink* option in guides. When you route to a sink from a guide, you select which columns being output by the guide are routed to each columns in your sink.

You can also create an internal sink automatically from the current output view in a guide. See - Routing Data to a Sink for more details.

You can add the following types of sinks:

  • An External Stream sink streams rows in comma-separated value, BSON, JSON, or XML form to a <%OUTPUT_FORMATS%>* destination.
  • An External Table sink streams rows into a table in an external database. (These must be created as external connections first. See Adding an External Connection for more details.)
  • An Existing s-Server Stream sinks stream rows to an existing stream in s-Server. (This must be previously defined.)
  • Creating a New s-Server Stream as a Sink lets you create a new stream in s-Server for use as a sink.

You can use sinks to route data to external datastreams (such as Extensible Common Data Adapter outputs and external databases). You can also use them as the basis for other guides.

Creating a Sink

You add sinks in the same way you do sources, guides, or external connections, by dragging your desired source type from the left hand column into the middle column:

Next, click the newly added sink to configure it. See the following topics for details on configuring sinks: