A {@link Source} implementation that receives Avro events from clients thatimplement {@link AvroSourceProtocol}.
This source forms one half of Flume's tiered collection support. Internally, this source uses Avro's NettyTransceiver to listen for, and handle events. It can be paired with the builtin AvroSink to create tiered collection topologies. Of course, nothing prevents one from using this source to receive data from other custom built infrastructure that uses the same Avro protocol (specifically {@link AvroSourceProtocol}).
Events may be received from the client either singly or in batches.Generally, larger batches are far more efficient, but introduce a slight delay (measured in millis) in delivery. A batch submitted to the configured {@link Channel}atomically (i.e. either all events make it into the channel or none).
Configuration options
Parameter | Description | Unit / Type | Default |
---|---|---|---|
bind | The hostname or IP to which the source will bind. | Hostname or IP / String | none (required) |
port | The port to which the source will bind and listen for events. | TCP port / int | none (required) |
threads | Max number of threads assigned to thread pool, 0 being unlimited | Count / int | 0(optional) |
Metrics
TODO
|
|