org.apache.flume.source
Class AvroSource

java.lang.Object
  extended by org.apache.flume.source.AbstractSource
      extended by org.apache.flume.source.AvroSource
All Implemented Interfaces:
Configurable, EventDrivenSource, LifecycleAware, NamedComponent, Source, org.apache.flume.source.avro.AvroSourceProtocol

public class AvroSource
extends AbstractSource
implements EventDrivenSource, Configurable, org.apache.flume.source.avro.AvroSourceProtocol

A Source implementation that receives Avro events from clients that implement 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 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 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


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.flume.source.avro.AvroSourceProtocol
org.apache.flume.source.avro.AvroSourceProtocol.Callback
 
Field Summary
 
Fields inherited from interface org.apache.flume.source.avro.AvroSourceProtocol
__PARANAMER_DATA, PROTOCOL
 
Constructor Summary
AvroSource()
           
 
Method Summary
 org.apache.flume.source.avro.Status append(org.apache.flume.source.avro.AvroFlumeEvent avroEvent)
           
 org.apache.flume.source.avro.Status appendBatch(List<org.apache.flume.source.avro.AvroFlumeEvent> events)
           
 void configure(Context context)
           Request the implementing class to (re)configure itself.
 void start()
           Starts a service or component.
 void stop()
           Stops a service or component.
 String toString()
           
 
Methods inherited from class org.apache.flume.source.AbstractSource
getChannelProcessor, getLifecycleState, getName, setChannelProcessor, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.flume.Source
getChannelProcessor, setChannelProcessor
 
Methods inherited from interface org.apache.flume.lifecycle.LifecycleAware
getLifecycleState
 
Methods inherited from interface org.apache.flume.NamedComponent
getName, setName
 

Constructor Detail

AvroSource

public AvroSource()
Method Detail

configure

public void configure(Context context)
Description copied from interface: Configurable

Request the implementing class to (re)configure itself.

When configuration parameters are changed, they must be reflected by the component asap.

There are no thread safety guarrantees on when configure might be called.

Specified by:
configure in interface Configurable

start

public void start()
Description copied from interface: LifecycleAware

Starts a service or component.

Implementations should determine the result of any start logic and effect the return value of LifecycleAware.getLifecycleState() accordingly.

Specified by:
start in interface LifecycleAware
Overrides:
start in class AbstractSource

stop

public void stop()
Description copied from interface: LifecycleAware

Stops a service or component.

Implementations should determine the result of any stop logic and effect the return value of LifecycleAware.getLifecycleState() accordingly.

Specified by:
stop in interface LifecycleAware
Overrides:
stop in class AbstractSource

toString

public String toString()
Overrides:
toString in class Object

append

public org.apache.flume.source.avro.Status append(org.apache.flume.source.avro.AvroFlumeEvent avroEvent)
Specified by:
append in interface org.apache.flume.source.avro.AvroSourceProtocol

appendBatch

public org.apache.flume.source.avro.Status appendBatch(List<org.apache.flume.source.avro.AvroFlumeEvent> events)
Specified by:
appendBatch in interface org.apache.flume.source.avro.AvroSourceProtocol


Copyright © 2009-2012 Apache Software Foundation. All Rights Reserved.