Beams can accept events and forward them along.
Makes beams for particular intervals and partition numbers.
Makes beams for particular intervals and partition numbers. Can also serialize and deserialize beam representations.
event type
specific beam type we know how to create
Wraps a Beam and exposes a single-message API rather than the future-batch-based API.
Wraps a Beam and exposes a single-message API rather than the future-batch-based API. Not thread-safe.
Beam composed of a stack of smaller beams.
Beam composed of a stack of smaller beams. The smaller beams are split across two axes: timestamp (time shard of the data) and partition (shard of the data within one time interval). The stack of beams for a particular timestamp are created in a coordinated fashion, such that all ClusteredBeams for the same identifier will have semantically identical stacks. This interaction is mediated through zookeeper. Beam information persists across ClusteredBeam restarts.
In the case of Druid, each merged beam corresponds to one segment partition number, and each inner beam corresponds to either one index task or a set of redundant index tasks.
ClusteredBeam +-------------+---------------+ 2010-01-02T03:00:00 | | 2010-01-02T04:00:00 | | v v +----+ Merged +----+ ... | | partition 1 partition 2 | | v v Decorated Decorated InnerBeamType InnerBeamType
Metadata stored in ZooKeeper for a ClusteredBeam.
Metadata stored in ZooKeeper for a ClusteredBeam.
Most recently shut-down interval (to prevent necromancy).
Map of interval start -> beam metadata, partition by partition.
Emits events over http.
Emits events over http.
This class is a little bit half-baked and might not work.
Partitions events based on the output of a Partitioner, and propagates the partitioned events via the appropriate underlying beams.
Farms out events to various beams, round-robin.
Beams can accept events and forward them along. The propagate method may throw a DefunctBeamException, which means the beam should be discarded (after calling close()).