Snowflake
Supports:
- ✅ Models
- ✅ Model sync destination
- ✅ Bulk sync source
- ✅ Bulk sync destination
Connection
Configuration
| NAME | TYPE | DESCRIPTION | REQUIRED | READONLY |
|---|---|---|---|---|
| account | string | e.g. FRXJLEC-UJA94780 | true | false |
| username | string | true | false | |
| password | string | false | false | |
| dbname | string | true | false | |
| warehouse | string | false | false | |
| params | string | Additional connection parameters, formatted as a query string | false | false |
| key_pair_auth | boolean | false | false | |
| private_key | string | false | false | |
| private_key_passphrase | string | false | false | |
| use_bulk_sync_staging_schema | boolean | false | false | |
| bulk_sync_staging_schema | string | false | 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 | READONLY |
|---|---|---|---|---|
| query | string | false | false | |
| schema | string | Schema | false | false |
| table | string | Table | false | false |
| view | string | View | false | 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 | READONLY |
|---|---|---|---|---|
| write_null_values | boolean | Copy null values | false | false |
| preserve_table_on_resync | boolean | Preserve destination table when resyncing | false | false |
| write_record_timestamps | boolean | Write row timestamp metadata | false | false |
| created_column | string | ’Created at’ timestamp column | false | false |
| updated_column | string | ’Updated at’ timestamp column | false | 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 | READONLY |
|---|---|---|---|---|
| advanced | object | false | false | |
| schema | string | Output schema | false | false |
| mirror_schemas | boolean | Mirror schemas | false | 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(16777216) |
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 |
