AvroReader

Description:

Parses Avro data and returns each Avro record as an separate Record object. The Avro data may contain the schema itself, or the schema can be externalized and accessed by one of the methods offered by the 'Schema Access Strategy' property.

Tags:

avro, parse, record, row, reader, delimited, comma, separated, values

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Schema Access Strategyschema-access-strategyUse Embedded Avro Schema
  • Use 'Schema Name' Property The name of the Schema to use is specified by the 'Schema Name' Property. The value of this property is used to lookup the Schema in the configured Schema Registry service.
  • Use 'Schema Text' Property The text of the Schema itself is specified by the 'Schema Text' Property. The value of this property must be a valid Avro Schema. If Expression Language is used, the value of the 'Schema Text' property must be valid after substituting the expressions.
  • Schema Reference Reader The schema reference information will be provided through a configured Schema Reference Reader service implementation.
  • Use Embedded Avro Schema The FlowFile has the Avro Schema embedded within the content, and this schema will be used.
Specifies how to obtain the schema that is to be used for interpreting the data.
Schema Registryschema-registryController Service API:
SchemaRegistry
Implementations: ConfluentSchemaRegistry
AmazonGlueSchemaRegistry
DatabaseTableSchemaRegistry
AvroSchemaRegistry
ApicurioSchemaRegistry
Specifies the Controller Service to use for the Schema Registry

This Property is only considered if the [Schema Access Strategy] Property is set to one of the following values: [Schema Reference Reader], [Use 'Schema Name' Property]
Schema Nameschema-name${schema.name}Specifies the name of the schema to lookup in the Schema Registry property
Supports Expression Language: true (will be evaluated using flow file attributes and Environment variables)

This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Name' Property".
Schema Versionschema-versionSpecifies the version of the schema to lookup in the Schema Registry. If not specified then the latest version of the schema will be retrieved.
Supports Expression Language: true (will be evaluated using flow file attributes and Environment variables)

This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Name' Property".
Schema Branchschema-branchSpecifies the name of the branch to use when looking up the schema in the Schema Registry property. If the chosen Schema Registry does not support branching, this value will be ignored.
Supports Expression Language: true (will be evaluated using flow file attributes and Environment variables)

This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Name' Property".
Schema Textschema-text${avro.schema}The text of an Avro-formatted Schema
Supports Expression Language: true (will be evaluated using flow file attributes and Environment variables)

This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Text' Property".
Schema Reference Readerschema-reference-readerController Service API:
SchemaReferenceReader
Implementation: ConfluentEncodedSchemaReferenceReader
Service implementation responsible for reading FlowFile attributes or content to determine the Schema Reference Identifier

This Property is only considered if the [Schema Access Strategy] Property has a value of "Schema Reference Reader".
Cache Sizecache-size1000Specifies how many Schemas should be cached

State management:

This component does not store state.

Restricted:

This component is not restricted.

System Resource Considerations:

None specified.