Validating Data from Amazon Redshift¶
This page covers Amazon Redshift-specific setup for Data validation. For workflow field definitions, see Data validation configuration reference.
Prerequisites¶
- ODBC connectivity to Redshift from Worker hosts (standard or IAM auth; same TOML as Migrating Data from Amazon Redshift).
- Live Redshift access for L1 and L2. Schema and metrics validation always run SQL against live Redshift.
- L3 object storage (Recommended): Use UNLOAD (
extraction.strategy: unload) so signatures land on Amazon S3 with the same Workerunload_*TOML and SnowflakeexternalStageas migration. See L3 extraction and Amazon S3.
Connectivity¶
Reuse the same [connections.source.redshift] Worker TOML as Migrating Data from Amazon Redshift.
Standard authentication example:
Validation behavior¶
- After UNLOAD migrations: Schema and metrics validation still run SQL against live Redshift. For L3, reuse UNLOAD with the same Worker
unload_*TOML and SnowflakeexternalStageas migration. Grant the Redshift cluster IAM role the Amazon S3 writer actions. Ensure the Worker can reach the cluster and that large partition result sets stay within timeout and spool limits. - Iceberg targets: Validation compares whatever is in Snowflake (native or Iceberg). Iceberg targets don’t change L2/L3 SQL on the Redshift side.
For partitioning and indexColumnList, see Data validation configuration reference.
Example workflow excerpt:
Data type mappings¶
| Redshift type | Snowflake target type | Supported for validation | Notes |
|---|---|---|---|
| SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION | NUMBER / FLOAT | Yes | |
| BOOLEAN, DATE, TIMESTAMP | BOOLEAN / DATE / TIMESTAMP_NTZ | Yes | |
| CHAR, VARCHAR | VARCHAR | Yes | |
| VARBYTE / BINARY VARYING | BINARY | Yes | Compared as uppercase hexadecimal |
| TIMESTAMPTZ | TIMESTAMP_TZ | Partial | Row-level validation not yet supported |
| TIME | TIME | Yes | |
| TIMETZ | TIMESTAMP_TZ | Partial | Row-level validation not yet supported |
| INTERVALY2M, INTERVALD2S | INTERVAL | Yes | Native INTERVAL comparison by default. See INTERVAL data type handling. |
| GEOMETRY | GEOMETRY | Yes | Compared as despaced Well-Known Text |
| GEOGRAPHY | GEOGRAPHY | Yes | Compared as despaced Well-Known Text |
| HLLSKETCH | No | ||
| SUPER | VARIANT | Yes |
Platform-specific considerations¶
-
Starting validation: Ask the agent to generate a validation workflow with the depth you need (schema validation, metrics validation, and row-level validation, per table).
Prompt:
-
For tables migrated via UNLOAD, confirm the live Redshift source still reflects the data snapshot you expect to compare.
Prompt:
-
Anti-locking: No automatic hint is added on Redshift. Set
queryModifiersonly when you need custom source SQL hints. See Anti-locking and query modifiers.