Skip to main content

AvroRecordSetWriter

Description

Writes the contents of a RecordSet in Binary Avro format.

Tags

avro, record, recordset, result, row, serializer, set, writer

Properties

In the list below required Properties are shown with an asterisk (*). Other properties 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 Write Strategy *Schema Write StrategyEmbed Avro Schema
  • Embed Avro Schema
  • Do Not Write Schema
  • Set 'schema.name' Attribute
  • Set 'avro.schema' Attribute
  • Schema Reference Writer
Specifies how the schema for a Record should be added to the data.
Schema Cacheschema-cacheController Service:
RecordSchemaCacheService

Implementations:
VolatileSchemaCache
Specifies a Schema Cache to add the Record Schema to so that Record Readers can quickly lookup the schema.
Schema Reference Writer *Schema Reference WriterController Service:
SchemaReferenceWriter

Implementations:
ConfluentEncodedSchemaReferenceWriter
Service implementation responsible for writing FlowFile attributes or content header with Schema reference information

This property is only considered if:
  • the property Schema Write Strategy has a value of schema-reference-writer
Schema Access Strategy *schema-access-strategyInherit Record Schema
  • Inherit Record Schema
  • Use 'Schema Name' Property
  • Use 'Schema Text' Property
Specifies how to obtain the schema that is to be used for interpreting the data.
Schema Registryschema-registryController Service:
SchemaRegistry

Implementations:
AmazonGlueSchemaRegistry
ApicurioSchemaRegistry
AvroSchemaRegistry
ConfluentSchemaRegistry
Specifies the Controller Service to use for the Schema Registry

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-reference-reader or schema-name
Schema Nameschema-name${schema.name}Specifies the name of the schema to lookup in the Schema Registry property

Supports Expression Language, using FlowFile attributes and Environment variables.

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-name
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, using FlowFile attributes and Environment variables.

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-name
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, using FlowFile attributes and Environment variables.

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-name
Schema Textschema-text${avro.schema}The text of an Avro-formatted Schema

Supports Expression Language, using FlowFile attributes and Environment variables.

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-text-property
Schema Reference Reader *schema-reference-readerController Service:
SchemaReferenceReader

Implementations:
ConfluentEncodedSchemaReferenceReader
Service implementation responsible for reading FlowFile attributes or content to determine the Schema Reference Identifier

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-reference-reader
Compression Format *compression-formatNONE
  • BZIP2
  • DEFLATE
  • NONE
  • SNAPPY
  • LZO
Compression type to use when writing Avro files. Default is None.
Cache Size *cache-size1000Specifies how many Schemas should be cached
Encoder Pool Size *encoder-pool-size32Avro Writers require the use of an Encoder. Creation of Encoders is expensive, but once created, they can be reused. This property controls the maximum number of Encoders that can be pooled and reused. Setting this value too small can result in degraded performance, but setting it higher can result in more heap being used. This property is ignored if the Avro Writer is configured with a Schema Write Strategy of 'Embed Avro Schema'.

Supports Expression Language, using Environment variables.

State Management

This component does not store state.

Restricted

This component is not restricted.

System Resource Considerations

This component does not specify system resource considerations.

See Also