|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.flume.sink.AbstractSink org.apache.flume.sink.AvroSink
public class AvroSink
A Sink
implementation that can send events to an Avro server (such as
Flume's AvroSource).
This sink forms one half of Flume's tiered collection support. Events sent to
this sink are turned into AvroFlumeEvent
s and sent to the configured
hostname / port pair using Avro's NettyTransceiver
. The intent is
that the destination is an instance of Flume's AvroSource which
allows Flume to nodes to forward to other Flume nodes forming a tiered
collection infrastructure. Of course, nothing prevents one from using this
sink to speak to other custom built infrastructure that implements the same
Avro protocol (specifically AvroSourceProtocol
).
Events are taken from the configured Channel
in batches of the
configured batch-size. The batch size has no theoretical limits
although all events in the batch must fit in memory. Generally, larger
batches are far more efficient, but introduce a slight delay (measured in
millis) in delivery. The batch behavior is such that underruns (i.e. batches
smaller than the configured batch size) are possible. This is a compromise
made to maintain low latency of event delivery. If the channel returns a null
event, meaning it is empty, the batch is immediately sent, regardless of
size. Batch underruns are tracked in the metrics. Empty batches do not incur
an RPC roundtrip.
Configuration options
Parameter | Description | Unit / Type | Default |
---|---|---|---|
hostname | The hostname to which events should be sent. | Hostname or IP / String | none (required) |
port | The port to which events should be sent on hostname. | TCP port / int | none (required) |
batch-size | The maximum number of events to send per RPC. | events / int | 100 |
Metrics
TODO
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.apache.flume.PollableSink |
---|
PollableSink.Status |
Constructor Summary | |
---|---|
AvroSink()
|
Method Summary | |
---|---|
void |
configure(Context context)
|
PollableSink.Status |
process()
|
void |
start()
Starts a service or component. |
void |
stop()
Stops a service or component. |
Methods inherited from class org.apache.flume.sink.AbstractSink |
---|
getChannel, getLifecycleState, setChannel |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.flume.Sink |
---|
getChannel, setChannel |
Methods inherited from interface org.apache.flume.lifecycle.LifecycleAware |
---|
getLifecycleState |
Constructor Detail |
---|
public AvroSink()
Method Detail |
---|
public void configure(Context context)
configure
in interface Configurable
public void start()
LifecycleAware
Starts a service or component.
Implementations should determine the result of any start logic and effect
the return value of LifecycleAware.getLifecycleState()
accordingly.
start
in interface LifecycleAware
start
in class AbstractSink
public void stop()
LifecycleAware
Stops a service or component.
Implementations should determine the result of any stop logic and effect
the return value of LifecycleAware.getLifecycleState()
accordingly.
stop
in interface LifecycleAware
stop
in class AbstractSink
public PollableSink.Status process() throws EventDeliveryException
process
in interface PollableSink
EventDeliveryException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |