Snowflake
Supports:
- ✅ Models
- ✅ Model sync destination
- ✅ Bulk sync source
- ✅ Bulk sync destination
Connection
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
account | string | Account identifier e.g. FRXJLEC-UJA94780 | true |
bulk_sync_staging_schema | string | Staging schema name | false |
dbname | string | Database | true |
key_pair_auth | boolean | Use key pair authentication | false |
params | string | Additional parameters Additional connection parameters, formatted as a query string | false |
password | string | Password | false |
private_key | string | Private key | false |
private_key_passphrase | string | Private key passphrase (optional) | false |
use_bulk_sync_staging_schema | boolean | Use custom bulk sync staging schema | false |
username | string | Username | true |
warehouse | string | Compute warehouse | false |
Example
1 { 2 "name": "Snowflake connection", 3 "type": "snowflake", 4 "configuration": { 5 "account": "FRXJLEC-UJA94780", 6 "bulk_sync_staging_schema": "", 7 "dbname": "database_name", 8 "key_pair_auth": false, 9 "params": "", 10 "password": "password", 11 "private_key": "", 12 "private_key_passphrase": "", 13 "use_bulk_sync_staging_schema": false, 14 "username": "user", 15 "warehouse": "warehouse" 16 } 17 }
Model Sync
Source
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
query | string | false | |
schema | string | Schema | false |
table | string | Table | false |
view | string | View | false |
Example
1 { 2 ... 3 "configuration": { 4 "query": "SELECT * FROM sampledata.users", 5 "schema": "sampledata", 6 "table": "users", 7 "view": "active_users" 8 } 9 }
Target
Snowflake connections may be used as the destination in a model sync.
All targets
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
created_column | string | ’Created at’ timestamp column | false |
preserve_table_on_resync | boolean | Preserve destination table when resyncing | false |
updated_column | string | ’Updated at’ timestamp column | false |
write_null_values | boolean | Copy null values When enabled updates will set fields to NULL when the source value is null | false |
write_record_timestamps | boolean | Write row timestamp metadata | false |
Example
1 { 2 ... 3 "target": { 4 "configuration": { 5 "created_column": "", 6 "preserve_table_on_resync": false, 7 "updated_column": "", 8 "write_null_values": false, 9 "write_record_timestamps": false 10 } 11 } 12 }
Bulk Sync
Destination
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
advanced | object | false | |
mirror_schemas | boolean | Mirror schemas | false |
schema | string | Output schema | false |
Example
1 { 2 ... 3 "destination_configuration": { 4 "advanced": { 5 "empty_strings_null": false, 6 "hard_deletes": false, 7 "set_output_table_as_transient": false, 8 "table_prefix": "", 9 "truncate_existing": false 10 }, 11 "mirror_schemas": false, 12 "schema": "schema" 13 } 14 }
Type handling
Destination types
| POLYTOMIC TYPE | SNOWFLAKE TYPE |
|---|---|
array<> | ARRAY |
bigint | NUMBER(38,0) |
boolean | BOOLEAN |
date | DATE |
datetime | TIMESTAMP_NTZ(9) |
decimal(precision, scale) | NUMBER(precision,scale) |
double | FLOAT |
int | NUMBER(38,0) |
json | VARIANT |
jsonarray | ARRAY |
number | NUMBER(38,18) |
object{} | VARIANT |
single | FLOAT |
smallint | NUMBER(38,0) |
string | VARCHAR(134217728) |
time | TIME |
Source types
| SNOWFLAKE TYPE | POLYTOMIC TYPE |
|---|---|
BIGINT | bigint |
BYTEINT | smallint |
DATE | date |
DEC | number |
DECIMAL | number |
DOUBLE | double |
DOUBLE PRECISION | double |
FIXED | number |
FLOAT | double |
FLOAT4 | double |
FLOAT8 | double |
INT | int |
INTEGER | int |
NUMBER | number |
NUMBER(precision, scale) | decimal(precision, scale) |
NUMERIC | number |
OBJECT | json |
REAL | double |
SMALLINT | smallint |
STRING | string |
TEXT | string |
TIME | time |
TIMESTAMP_LTZ | datetime_tz |
TIMESTAMP_NTZ | datetime |
TIMESTAMP_TZ | datetime_tz |
TINYINT | smallint |
VARCHAR | string |
