Snowflake Upsert Configuration

Version 22.0.8336


Snowflake Upsert Configuration


The Upsert action inserts or updates Snowflake data. By default, if a record already exists in Snowflake, an update is performed on the existing data in Snowflake using the values provided from the input.

Tables and Columns

If you choose Upsert for the Snowflake connector, you must select a target table (or tables) from Snowflake. Click the + Add button above the Tables pane.

A modal appears and lists all available tables. Select the desired table and click + Add.

The chosen table appears under the Tables pane, and the columns in the table appear under the Columns pane. The connector automatically detects values that have special relevance (for example, the primary key and foreign keys) and labels them accordingly.

By default, all of the columns are selected for inclusion in the action for the Snowflake connector. You can exclude individual columns by un-checking them.

Note: You can select more tables by clicking + Add and repeating this process. See Child Tables for more information.

Example Arc Flow

After you choose the tables and columns for the Upsert-configured Snowflake connector, place the connector at the end of an Arc flow. The screenshot below depicts an example flow with a CSV connector, an XML Map connector, and a Snowflake Upsert connector at the end:

Data in this example flow passes through these steps:

  1. The CSV1 connector supplies a CSV file that contains data.

  2. This data passes to the XML_Map connector as the Source File, which maps to the Source tree.

  3. Data from the Snowflake_Upsert connector passes to the XML_Map connector as the Destination File, which maps to the Destination tree.

  4. The XML_Map connector attempts to automatically map Source elements to Destination elements with the same name. You can manually change these and fill in blank mappings by dragging elements from Source to Destination.

  5. The Snowflake_Upsert connector performs the Upsert according to the mapping and passes the resulting data to Snowflake.

XML Aggregate Columns

Most Snowflake database columns function as single elements for mapping. The examples above under Example Arc Flow demonstrate single-element columns.

Some columns appear in the Snowflake connector with the XML aggregate icon </> next to their names. In contrast to a standard single-element column, an aggregate column contains a collection of entities. The following screenshot shows an aggregate column in an Upsert-configured Snowflake connector:

In an XML Map connector, the full structure of the aggregate column expands to display all of its contents. The following screenshot shows an aggregate column expanded:

Each element of an aggregate column can be mapped the same way as single-element columns.