# Avro settings

Avro options select container compression, block sizes, field defaults and schema-registry access. Ordinary avro embeds its schema; avro_confluent resolves record schema IDs through the configured registry.

Choose the codec before choosing its settings. Confluent output requires both a registry URL and a subject; compression/block settings apply to the container variant. Input name and NULL policies affect conversion into the declared target.

Use a statement `SETTINGS` clause. Defaults in `system.settings` are read-only;
format settings cannot be persisted with `SET`. Put input settings before
`FORMAT`, because the bytes after the format name are input data.

## avro_block_bytes

Type: `UInt64`

Default value: `16384`

Target uncompressed bytes per output block, from 32 through 1073741824; a complete row may exceed the target.

Applies to: `avro`.

## avro_compression

Type: `String`

Default value: `''`

Output block compression: null, deflate, snappy, or zstd; empty selects snappy.

Applies to: `avro`.

## avro_confluent_connect_timeout

Type: `UInt64`

Default value: `1`

Connection and TLS handshake timeout in seconds; positive values are capped at 599.

Applies to: `avro_confluent`.

## avro_confluent_receive_timeout

Type: `UInt64`

Default value: `1`

Registry response receive timeout in seconds; positive values are capped at 599.

Applies to: `avro_confluent`.

## avro_confluent_registry_url

Type: `String`

Default value: `''`

HTTP or HTTPS schema registry base URL; URL-encoded credentials select Basic authentication.

Applies to: `avro_confluent`.

## avro_confluent_retries

Type: `UInt64`

Default value: `5`

Retry transient registry failures this many times; zero disables retries and values above 20 are capped at 20.

Applies to: `avro_confluent`.

## avro_confluent_retry_delay_ms

Type: `UInt64`

Default value: `100`

Initial retry delay in milliseconds, capped at 60000; subsequent delays double up to 10000 milliseconds.

Applies to: `avro_confluent`.

## avro_confluent_send_timeout

Type: `UInt64`

Default value: `1`

Registry request send timeout in seconds; positive values are capped at 599.

Applies to: `avro_confluent`.

## avro_confluent_subject

Type: `String`

Default value: `''`

Subject under which an output record schema is registered; required for avro_confluent output.

Applies to: `avro_confluent`.

## avro_missing_as_default

Type: `Bool`

Default value: `0`

Give target fields absent from the input schema their SQL DEFAULT or native type default; otherwise reject them.

Applies to: `avro`, `avro_confluent`.

## avro_null_as_default

Type: `Bool`

Default value: `0`

Replace input NULL in a non-nullable native target with its SQL DEFAULT or native type default; legacy SQL columns retain NULL.

Applies to: `avro`, `avro_confluent`.

## avro_string_columns

Type: `String`

Default value: `''`

Regular expression matching output String column paths to encode as UTF-8 string instead of bytes; empty matches none.

Applies to: `avro`, `avro_confluent`.
