Articles in this section

Create a sync to Snowflake

Configure Snowflake as your Celigo sync destination with guided database selection and a dedicated schema for your sync's tables — so every table lands exactly where your analytics team expects it. Complete with comprehensive data type mappings and reserved words references, this article helps you ensure seamless data integration and accurate field alignment.

Create a data ingestion sync

Follow the instructions in Create a data ingestion sync to create a sync and configure your source application.

Set up Snowflake as your destination

  1. Select Snowflake as the destination that will ingest and store all source data from the sync.
  2. Choose an established connection, or select Create connection to create a new one (see Create a connection to an application).

    Caution

    Avoid sharing connections with flows scheduled at the same time, as running them simultaneously can reduce performance.

  3. Select the database that will store incoming data from the sync.
  4. Name your destination schema - Celigo creates a schema based on the objects, exports, and fields you selected when configuring the source application. Give the schema a meaningful name to help you identify the destination tables that correspond to it later.

    Note

    This schema is for use only with this sync. Be careful when entering its name — you can't change it after you save and run the sync.

This sync names your destination tables using the following structure: <database>.<schema>.<table>

  • <database> - The destination database.
  • <schema> - The custom schema name.
  • <table> - The specific object, export, or table name selected for sync.

Define sync settings

Name and describe your sync and choose whether to receive email notifications (see Edit or view a sync's settings). Next, decide how often the sync should run (see Schedule and run a sync for the full set of scheduling options).

What happens next

After you save your sync's settings, the wizard is complete and you're returned to the sync's dashboard. The dashboard shows a "Ready to run" state — your sync is active, but hasn't loaded any data yet. Select Run to trigger the first run yourself, or wait for its next scheduled run.

Data type mapping

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 INTEGER
INTEGER, SHORT SMALLINT
LONG BIGINT
OBJECT OBJECT
TIME TIME
VARIANT VARIANT

See Understand how data types are inferred for what each Celigo data type represents.

Snowflake reserved words

Celigo sync automatically manages Snowflake reserved words when creating or updating destination tables to prevent naming conflicts. You can use these keywords freely in your source data—Celigo sync will simply append an underscore to the destination table name (for example, a table named ISSUE becomes 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

Learn more