Snowflake

Supports:

  • ✅ Models
  • ✅ Model sync destination
  • ✅ Bulk sync source
  • ✅ Bulk sync destination

Connection

Configuration

NameTypeDescriptionRequired
accountstringAccount identifier

e.g. FRXJLEC-UJA94780
true
bulk_sync_staging_schemastringStaging schema namefalse
dbnamestringDatabasetrue
key_pair_authbooleanUse key pair authentication false
paramsstringAdditional parameters

Additional connection parameters, formatted as a query string
false
passwordstringPasswordfalse
private_keystringPrivate keyfalse
private_key_passphrasestringPrivate key passphrase (optional)false
use_bulk_sync_staging_schemabooleanUse custom bulk sync staging schemafalse
usernamestringUsernametrue
warehousestringCompute warehousefalse

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

NameTypeDescriptionRequired
querystringfalse
schemastringSchemafalse
tablestringTablefalse
viewstringViewfalse

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
NameTypeDescriptionRequired
created_columnstring’Created at’ timestamp columnfalse
preserve_table_on_resyncbooleanPreserve destination table when resyncingfalse
updated_columnstring’Updated at’ timestamp columnfalse
write_null_valuesbooleanCopy null values

When enabled updates will set fields to NULL when the source value is null
false
write_record_timestampsbooleanWrite row timestamp metadatafalse
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

NameTypeDescriptionRequired
advancedobjectfalse
mirror_schemasbooleanMirror schemasfalse
schemastringOutput schemafalse

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 TYPESNOWFLAKE TYPE
array<>ARRAY
bigintNUMBER(38,0)
booleanBOOLEAN
dateDATE
datetimeTIMESTAMP_NTZ(9)
decimal(precision, scale)NUMBER(precision,scale)
doubleFLOAT
intNUMBER(38,0)
jsonVARIANT
jsonarrayARRAY
numberNUMBER(38,18)
object{}VARIANT
singleFLOAT
smallintNUMBER(38,0)
stringVARCHAR(134217728)
timeTIME

Source types

SNOWFLAKE TYPEPOLYTOMIC TYPE
BIGINTbigint
BYTEINTsmallint
DATEdate
DECnumber
DECIMALnumber
DOUBLEdouble
DOUBLE PRECISIONdouble
FIXEDnumber
FLOATdouble
FLOAT4double
FLOAT8double
INTint
INTEGERint
NUMBERnumber
NUMBER(precision, scale)decimal(precision, scale)
NUMERICnumber
OBJECTjson
REALdouble
SMALLINTsmallint
STRINGstring
TEXTstring
TIMEtime
TIMESTAMP_LTZdatetime_tz
TIMESTAMP_NTZdatetime
TIMESTAMP_TZdatetime_tz
TINYINTsmallint
VARCHARstring