@SideEffectFree @SupportsBatching @Tags(value={"avro","split"}) @InputRequirement(value=INPUT_REQUIRED) @CapabilityDescription(value="Splits a binary encoded Avro datafile into smaller files based on the configured Output Size. The Output Strategy determines if the smaller files will be Avro datafiles, or bare Avro records with metadata in the FlowFile attributes. The output will always be binary encoded.") @WritesAttribute(attribute="fragment.identifier",description="All split FlowFiles produced from the same parent FlowFile will have the same randomly generated UUID added for this attribute") @WritesAttribute(attribute="fragment.index",description="A one-up number that indicates the ordering of the split FlowFiles that were created from a single parent FlowFile") @WritesAttribute(attribute="fragment.count",description="The number of split FlowFiles generated from the parent FlowFile") @WritesAttribute(attribute="segment.original.filename ",description="The filename of the parent FlowFile") public class SplitAvro extends AbstractProcessor
Modifier and Type | Field and Description |
---|---|
static AllowableValue |
BARE_RECORD_OUTPUT |
static java.lang.String |
BARE_RECORD_OUTPUT_VALUE |
static AllowableValue |
DATAFILE_OUTPUT |
static java.lang.String |
DATAFILE_OUTPUT_VALUE |
static PropertyDescriptor |
OUTPUT_SIZE |
static PropertyDescriptor |
OUTPUT_STRATEGY |
static AllowableValue |
RECORD_SPLIT |
static java.lang.String |
RECORD_SPLIT_VALUE |
static Relationship |
REL_FAILURE |
static Relationship |
REL_ORIGINAL |
static Relationship |
REL_SPLIT |
static PropertyDescriptor |
SPLIT_STRATEGY |
static PropertyDescriptor |
TRANSFER_METADATA |
Constructor and Description |
---|
SplitAvro() |
Modifier and Type | Method and Description |
---|---|
java.util.Set<Relationship> |
getRelationships() |
protected java.util.List<PropertyDescriptor> |
getSupportedPropertyDescriptors()
Allows subclasses to register which property descriptor objects are
supported.
|
protected void |
init(ProcessorInitializationContext context)
Provides subclasses the ability to perform initialization logic
|
void |
onTrigger(ProcessContext context,
ProcessSession session) |
onTrigger
getControllerServiceLookup, getIdentifier, getLogger, getNodeTypeProvider, initialize, isConfigurationRestored, isScheduled, toString, updateConfiguredRestoredTrue, updateScheduledFalse, updateScheduledTrue
customValidate, equals, getPropertyDescriptor, getPropertyDescriptors, getSupportedDynamicPropertyDescriptor, hashCode, onPropertyModified, validate
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getPropertyDescriptor, getPropertyDescriptors, onPropertyModified, validate
public static final java.lang.String RECORD_SPLIT_VALUE
public static final AllowableValue RECORD_SPLIT
public static final PropertyDescriptor SPLIT_STRATEGY
public static final PropertyDescriptor OUTPUT_SIZE
public static final java.lang.String DATAFILE_OUTPUT_VALUE
public static final java.lang.String BARE_RECORD_OUTPUT_VALUE
public static final AllowableValue DATAFILE_OUTPUT
public static final AllowableValue BARE_RECORD_OUTPUT
public static final PropertyDescriptor OUTPUT_STRATEGY
public static final PropertyDescriptor TRANSFER_METADATA
public static final Relationship REL_ORIGINAL
public static final Relationship REL_SPLIT
public static final Relationship REL_FAILURE
protected void init(ProcessorInitializationContext context)
AbstractSessionFactoryProcessor
init
in class AbstractSessionFactoryProcessor
context
- in which to perform initializationpublic java.util.Set<Relationship> getRelationships()
getRelationships
in interface Processor
getRelationships
in class AbstractSessionFactoryProcessor
protected java.util.List<PropertyDescriptor> getSupportedPropertyDescriptors()
AbstractConfigurableComponent
getSupportedPropertyDescriptors
in class AbstractConfigurableComponent
public void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException
onTrigger
in class AbstractProcessor
ProcessException