SnowConvert AI - Teradata - Iceberg Tables Transformations¶
This section covers the transformation of tables into Snowflake-managed Iceberg tables, performed by SnowConvert AI when the conversion setting Table Translation is used.
Temporary tables¶
The temporary option is not supported in Iceberg tables, they will be preserved as temporary.
Teradata¶
Snowflake¶
Other tables¶
Other table types are going to be transformed into Iceberg tables.
Teradata¶
Snowflake¶
Data types¶
The following column data type conversions are applied to comply with the Iceberg tables type requirements and restrictions.
Note
Data types in the first column are the Snowflake data types that would normally be created if the table target is not Iceberg, while second column shows the data type generated for Iceberg tables.
Original target type |
New target type |
|---|---|
TIME(X) |
TIME(6) |
VARCHAR(X) |
VARCHAR |
CHAR[(n)] |
VARCHAR |
NUMBER |
NUMBER(38,0) |
FLOAT |
DOUBLE |
VARBINARY[(n)] |
BINARY[(n)] |
PARTITION BY¶
The following PARTITION BY cases are supported:
PARTITION BY name¶
Left as is.
Teradata¶
Snowflake¶
PARTITION BY CASE_N (equality over single column)¶
When the CASE_N function follows this pattern:
It will be transformed to a PARTITION BY column_name.
Teradata¶
Snowflake¶
PARTITION BY RANGE_N¶
PARTITION BY RANGE_N is transformed when it matches one of these patterns:
Numeric range¶
Pattern:
This case will be changed with a BUCKET partition transform.
Teradata¶
Snowflake¶
Datetime range¶
Pattern:
This case will be changed with the YEAR, MONTH, DAY or HOUR partition transforms.
Teradata¶
Snowflake¶
CASESPECIFIC and NOT CASESPECIFIC¶
Case sensitivity can be handled in Snowflake using the COLLATE column option, however, Iceberg Tables currently do not support collation at the column level.
To handle this difference, SnowConvert AI will enforce the “Disable use of COLLATE for Case Specification” general conversion setting for all transformations that specify Iceberg Tables as target. This will cause the case sensitive comparisons to be emulated at query level with the UPPER function, preserving the case sensitivity functionality for Iceberg.
Teradata¶
Snowflake¶
Known Issues¶
1. Unsupported data types¶
Current Snowflake support for Iceberg tables does not allow data types like VARIANT or GEOGRAPHY to be used, tables with these types will be marked with an EWI.
2. Unsupported PARTITION BY cases¶
PARTITION BY cases different than the ones shown in this documentation will not be transformed, instead, the PARTITION BY clause will be commented out with a PRF.