Heron processing topologies can be written using an API called the Heron Streamlet API. The Heron Streamlet API is currently available for the following languages:

Although this document covers the new Heron Streamlet API, topologies created using the original topology API can still be used with Heron (which means that all of your older topologies will still run).

For a more in-depth conceptual guide to the new API, see The Heron Streamlet API. A high-level overview can also be found in the section immediately below.

The Heron Streamlet API vs. The Topology API

When Heron was first released, all Heron topologies needed to be written using an API based on the Storm Topology API. Although this API is quite powerful (and can still be used), the Heron Streamlet API enables you to create topologies without needing to implement spouts and bolts directly or to connect spouts and bolts together.

Here are some crucial differences between the two APIs:

DomainOriginal Topology APIHeron Streamlet API
Programming styleProcedural, processing component basedFunctional
Abstraction levelLow level. Developers must think in terms of “physical” spout and bolt implementation logic.High level. Developers can write processing logic in an idiomatic fashion in the language of their choice, without needing to write and connect spouts and bolts.
Processing modelSpout and bolt logic must be created explicitly, and connecting spouts and bolts is the responsibility of the developerSpouts and bolts are created for you automatically on the basis of the processing graph that you build

The two APIs also have a few things in common:

  • Topologies' logical and physical plans are automatically created by Heron
  • Topologies are managed in the same way using the heron CLI tool