Articles in this section

Set up a sync to Snowflake

After setting up your source application in Step 1 of creating a Celigo sync, continue with Step 2: Destination.

  1. Select Snowflake from the endpoints listed in Choose destination. (Instructions for other destination endpoints and optimizing ingestion appear in this Help Center category.)

  2. Choose an existing connection to Snowflake, or you can click Create connection to define a new resource that you can use here and in other syncs, flows and APIs.

    Tip

    Selecting the same connection used in a flow may slow performance if this sync is scheduled to run at the same time as the flow.

    An online connection provides the wizard with the list of databases in your Snowflake account.

  3. Select the database where the source data will be ingested.

    dest-sf.png
  4. Give the schema a unique and meaningful name, for use in identifying new destination tables that belong to this schema.

    Note

    • This schema name is for use only with this sync.

    • You may enter the name of a schema that exists at the destination, but only this sync can write to it.

    • Be careful when entering a schema name; you won’t be able to edit it after you save and run the sync.

Tables created by this sync will be named as follows:

<database>.<schema>.<table> 

Where...

  • You selected <database> above

  • You entered a <schema> name above

  • <table> reflects an object/export that you selected or a table name you entered for an export

Then, click Next to save your sync destination and continue with Step 3: Settings.

Edit a sync

After you’ve saved a sync, you can view or modify its settings at any time:

  1. From the Home page, open the integration.

  2. Click the sync name.

  3. Open its Sync details tab.

  4. Click through to the Source, Destination, or Settings step.

Data type mapping

The data types sent to or inferred by Celigo syncs are transferred to Snowflake as follows:

Celigo data type

Snowflake data type

ARRAY

ARRAY

BINARY

BINARY

BOOLEAN

BOOLEAN

DATE

DATE

DATETIMELTZ

TIMESTAMP_LTZ

DATETIMENTZ

TIMESTAMP_NTZ

DATETIMETZ

TIMESTAMP_TZ

DECIMAL

DECIMAL

DEFAULT, STRING

STRING

DOUBLE

FLOAT

DOUBLE, NUMBER

NUMBER

INTEGER

SMALLINT

INTEGER, SHORT

INTEGER

LONG

BIGINT

OBJECT

OBJECT

TIME

TIME

VARIANT

VARIANT

Snowflake reserved words

To avoid any conflicts at the destination, Celigo sync automatically handles the use of any Snowflake reserved words when creating or updating tables. You may freely use these keywords when defining your source data, although you will see variants in the data warehouse after the sync runs, such as a new table named issue_ instead of the expected (reserved word) ISSUE.

Table-level reserved words

  • ACCESS

  • ACCOUNT

  • ASOF

  • AUDIT

  • BEARER

  • BEARER_TOKEN

  • CHAR

  • CLUSTER

  • COMPRESS

  • CROSS

  • DATABASE

  • DATE

  • DECLARE

  • DEFINE

  • DELETE

  • DISTINCT

  • DROP

  • ELSE

  • ELSEIF

  • EXCLUSIVE

  • EXISTS

  • FILE

  • FLOAT

  • FROM

  • FULL

  • HYBRID

  • IDENTIFIED

  • IMMEDIATE

  • INDEX

  • INITIAL

  • INNER

  • INSERT

  • INSERT_ONLY

  • ISSUE

  • JOIN

  • LATERAL

  • LEFT

  • LOCK

  • LONG

  • MATCH_CONDITION

  • MATCH_RECOGNIZE

  • MAXEXTENTS

  • MLSLABEL

  • MODE

  • NATURAL

  • NOAUDIT

  • NOCOMPRESS

  • NOWAIT

  • NULL_IF

  • OFFLINE

  • ONLINE

  • OPTION

  • ORGANIZATION

  • OUTER

  • PCTFREE

  • PRIOR

  • RAISE

  • RENAME

  • RESOURCE

  • RIGHT

  • SCHEMA

  • SELECT

  • SESSION

  • SHARE

  • SIZE

  • SMALLINT

  • STRICT

  • SUCCESSFUL

  • SYNONYM

  • SYSDATE

  • UID

  • UNPIVOT

  • UPDATE

  • USING

  • VALIDATE

  • VARCHAR

  • VARCHAR2

  • VIEW

  • WHERE

Column-level reserved words

  • CASE

  • COLUMN_VALUE

  • CURRENT_DATE

  • CURRENT_TIME

  • CURRENT_TIMESTAMP

  • FALSE

  • NESTED_TABLE_ID

  • ROWID

  • ROWNUM

  • TRUE

  • WITH

Schema-level and identifier reserved words

  • ACCOUNT

  • DATABASE

  • ORGANIZATION

  • SCHEMA

  • VIEW