Apache Kafka for JSON/AVRO data format¶

Note

The connector is subject to the Connector Terms.

This topic describes the Apache Kafka connectors for JSON and AVRO data formats. These are simplified connectors optimized for basic message ingestion with schema evolution and topic-to-table mapping capabilities.

Connector variants¶

JSON data format connector¶

The Apache Kafka for JSON data format connector is designed for straightforward JSON message ingestion from Kafka topics to Snowflake tables.

Key features:

  • JSON message format support

  • Schema evolution

  • Topic-to-table mapping

  • SASL authentication

AVRO data format connector¶

The Apache Kafka for AVRO data format connector is designed for AVRO message ingestion from Kafka topics to Snowflake tables with schema registry support.

Key features:

  • AVRO message format support

  • Schema registry integration

  • Schema evolution

  • Topic-to-table mapping

  • SASL authentication

Specific parameters¶

In addition to the common parameters described in Set up the Openflow Connector for Kafka, these connectors have specific parameter contexts.

Schema registry parameters (AVRO connector only)¶

The AVRO connector includes additional parameters for schema registry integration:

Parameter

Description

Required

Schema Registry Authentication Type

The method of authenticating to schema registry if used. Otherwise, use NONE. One of: NONE / BASIC. Default: NONE

Yes

Schema Registry URL

The URL of Schema Registry. Required for AVRO message format.

No

Schema Registry Username

The username for Schema Registry. Required for AVRO message format.

No

Schema Registry Password

The password for Schema Registry. Required for AVRO message format.

No

AVRO Schema Access Strategy

The method of accessing the AVRO schema of a message. Required for AVRO. One of: embedded-avro-schema / schema-reference-reader / schema-text-property. Default: embedded-avro-schema

No

AVRO Schema

Avro schema in case schema-text-property is used in AVRO Schema Access Strategy with the AVRO message format. Note: this should only be used in case all messages consumed from the configured Kafka Topic(s) share the same schema.

No

Limitations¶

These simplified connectors have the following limitations compared to the full-featured DLQ and metadata connector:

  • No RECORD_METADATA column - Kafka metadata is not stored in the target tables

  • No dead letter queue (DLQ) - Failed messages are not routed to a DLQ topic

  • No Iceberg table support - Only regular Snowflake tables are supported

  • Fixed schematization - Schema detection is always enabled and cannot be disabled

Note

Schema detection is enabled by default in these connectors and cannot be disabled. This means message fields are automatically flattened into individual table columns with automatic schema evolution.

Use cases¶

These connectors are ideal for:

Simple data ingestion

When you only need the message content without Kafka metadata.

High-throughput scenarios

Where the simplified data structure improves performance.

Schema evolution use cases

Where automatic table schema updates are required

JSON or AVRO message formats

With consistent schemas

If you need Kafka metadata, DLQ support, or Iceberg table ingestion, use the Apache Kafka with DLQ and metadata connector instead.

Schema detection and evolution¶

These connectors support automatic schema detection and evolution. The structure of tables in Snowflake is defined and evolved automatically to support the structure of new data loaded by the connector.

With schema detection enabled (which is always the case for these connectors), Snowflake can detect the schema of the streaming data and load data into tables that automatically match any user-defined schema. Snowflake also allows adding new columns or dropping the NOT NULL constraint from columns missing in new data files.

Schema detection with the connector is supported with or without a provided schema registry. If using schema registry (Avro), the column will be created with the data types defined in the provided schema registry. If there is no schema registry (JSON), the data type will be inferred based on the data provided.

JSON ARRAY is not supported for further schematization.

Schema evolution behavior¶

If the connector creates the target table, schema evolution is enabled by default.

If you want to enable or disable schema evolution on an existing table, use the ALTER TABLE command to set the ENABLE_SCHEMA_EVOLUTION parameter. You must also use a role that has the OWNERSHIP privilege on the table. For more information, see Table schema evolution.