Skip to navigation

Supports:

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

Connection

Configuration

NameTypeDescriptionRequired
accountstringAccount identifier

e.g. FRXJLEC-UJA94780
required
dbnamestringDatabaserequired
key_pair_authbooleanUse key pair authentication ↓optional
paramsstringAdditional parameters (optional)

Additional connection parameters, formatted as a query string
optional
passwordstringPasswordoptional
use_bulk_sync_staging_schemabooleanUse custom bulk sync staging schema ↓optional
usernamestringUsernamerequired
warehousestringCompute warehouse (optional)optional

key_pair_auth

When key_pair_auth is true:

NameTypeDescriptionRequired
private_keystringPrivate keyrequired
private_key_passphrasestringPrivate key passphrase (optional)optional
{
"name": "Snowflake connection",
"type": "snowflake",
"configuration": {
"account": "FRXJLEC-UJA94780",
"dbname": "database_name",
"key_pair_auth": true,
"params": "",
"password": "password",
"private_key": "",
"private_key_passphrase": "",
"use_bulk_sync_staging_schema": false,
"username": "user",
"warehouse": "warehouse"
}
}

use_bulk_sync_staging_schema

When use_bulk_sync_staging_schema is true:

NameTypeDescriptionRequired
bulk_sync_staging_schemastringStaging schema namerequired
{
"name": "Snowflake connection",
"type": "snowflake",
"configuration": {
"account": "FRXJLEC-UJA94780",
"bulk_sync_staging_schema": "",
"dbname": "database_name",
"key_pair_auth": false,
"params": "",
"password": "password",
"use_bulk_sync_staging_schema": true,
"username": "user",
"warehouse": "warehouse"
}
}

Example

{
"name": "Snowflake connection",
"type": "snowflake",
"configuration": {
"account": "FRXJLEC-UJA94780",
"dbname": "database_name",
"key_pair_auth": false,
"params": "",
"password": "password",
"use_bulk_sync_staging_schema": false,
"username": "user",
"warehouse": "warehouse"
}
}

Model Sync

Source

Configuration

NameTypeDescriptionRequired
querystringoptional
schemastringSchemaoptional
tablestringTableoptional
viewstringViewoptional

Example

{
...
"configuration": {
"query": "SELECT * FROM sampledata.users",
"schema": "sampledata",
"table": "users",
"view": "active_users"
}
}

Target

Snowflake connections may be used as the destination in a model sync.

All targets

Configuration
NameTypeDescriptionRequired
created_columnstring’Created at’ timestamp columnoptional
preserve_table_on_resyncbooleanPreserve destination table when resyncingoptional
updated_columnstring’Updated at’ timestamp columnoptional
write_null_valuesbooleanCopy null values

When enabled updates will set fields to NULL when the source value is null
optional
write_record_timestampsbooleanWrite row timestamp metadataoptional
Example
{
...
"target": {
"configuration": {
"created_column": "",
"preserve_table_on_resync": false,
"updated_column": "",
"write_null_values": false,
"write_record_timestamps": false
}
}
}

Target creation

Snowflake connections may be used to create a new target for a model sync. The following parameters are required to create a new target:

NAMEDESCRIPTIONENUM
nameTable namefalse

Bulk Sync

Source

Snowflake connections may be used as a bulk sync source. No additional configuration options are required.

Destination

Configuration

NameTypeDescriptionRequired
advancedobjectoptional
mirror_schemasbooleanMirror schemasoptional
schemastringOutput schemaoptional

Example

{
...
"destination_configuration": {
"advanced": {
"empty_strings_null": true,
"hard_deletes": false,
"initial_execution": "rebuild",
"set_output_table_as_transient": false,
"table_prefix": "",
"truncate_existing": false
},
"mirror_schemas": false,
"schema": "schema"
}
}

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
TIMEtime
TIMESTAMP_LTZdatetime_tz
TIMESTAMP_NTZdatetime
TIMESTAMP_TZdatetime_tz
TINYINTsmallint