Table support and schema¶
This topic covers the table types, data types, and schema capabilities supported by Snowpipe Streaming.
Apache Iceberg™ table support¶
Snowpipe Streaming supports ingestion into Snowflake-managed Apache Iceberg™ tables, including both Iceberg v2 and Iceberg v3 tables. For more information, see Snowpipe Streaming high-performance architecture with Apache Iceberg™ tables.
Schema evolution¶
Snowpipe Streaming supports automatic table schema evolution. When enabled, Snowflake can automatically add new columns that are detected in the incoming stream and drop NOT NULL constraints to accommodate new data patterns. For more information, see Table schema evolution.
Limitations of schema evolution:
Supported exclusively for standard Snowflake tables. External tables and Apache Iceberg™ tables aren’t supported.
The precision, scale, or length of existing columns can’t be increased automatically.
Schema evolution isn’t supported for structured data types. However, new columns that contain structured types are inferred as VARIANT.
Insert-only operations¶
The API is currently limited to inserting rows. To modify, delete, or combine data, write the “raw” records to one or more staging tables. Merge, join, or transform the data by using continuous data pipelines to insert modified data into destination reporting tables.
Supported Java data types¶
The following table summarizes which Java data types are supported for ingestion into Snowflake columns:
Snowflake column type |
Allowed Java data type |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|