You can create a new pipeline that writes back data from an Anaplan Data Orchestrator dataset to Snowflake.

You need a connection to Snowflake to create a pipeline. Make sure you meet the prerequisites in these sections before you create a connection to Snowflake and a writeback pipeline.

Use the Snowflake connector in Data Orchestrator to create a connection.

You need your Snowflake credentials to connect the Snowflake data with Data Orchestrator. View the Snowflake documentation for more information about your credentials.

To create a connection:

  1. Select Data Orchestrator from the top-left navigation menu.
  2. Choose a dataspace from the list.
  3. Select Connections from the left-side panel.
  4. Select Create connection.
  5. Select the Snowflake connector and then select Next.
    If you can't find the connector, enter a search term in the Find... field.
  6. Enter these details on the Connection details screen, and then select Next:
    • Name: Create a name for your connection. The name can contain alphanumeric characters and underscores.
    • Description: Enter a description about your connection.
  7. Enter your Snowflake credentials on the Connection credentials screen, and then select Next.
    For information about the fields on the Connection credentials screen, see Authentication options for Snowflake connections.
  8. After the connection test is complete, select Done.

When you set up the writeback pipeline, you'll use your connection to export either a source dataset or a transformation view from Data Orchestrator to Snowflake.

To create a writeback pipeline:

  1. Select Data Orchestrator from the top-left navigation menu.
  2. Choose a dataspace from the list.
  3. Select Pipelines from the left-side panel.
  4. Select Create pipeline.
  5. Enter a Name for your pipeline and then select Create.
    You are taken to the pipeline designer view.
  6. Select the Source icon, and then complete these steps in the right-side panel:
    1. Select Anaplan from the Connection type dropdown. 
    2. Select Datasets from the Choose connection dropdown.
    3. Enter a new Label to change the source display name in the designer view.
    4. Select Source location > Source, choose a Data Orchestrator dataset, and then select Confirm.
      The dataset is used as the source for your pipeline.
  7. Optionally, select the add icon that appears between the Source and Sink nodes.
    You can add steps to your pipeline to process data.
  8. Select the Sink icon, and then complete these steps in the right-side panel:
    1. Select Snowflake from the Connection type dropdown.
    2. Select the Snowflake connection you created from the Choose connection dropdown.
    3. Enter a new Label to change the sink name that displays in the designer view.
    4. Select Target location > Table, select a Snowflake table, and then select Done.
    5. Select Target mapping > Mapping, map the Data Orchestrator source dataset values to the Snowflake target values, and then select Done.
    6. Select a Write option for the target table: Append, Full replace, or Upsert.
      This determines how data is written to the target table. See the Write options section below for more details.
  9. Select Publish, and then select Run to execute the data transfer.

Review this table to determine which write option to select.

Write optionsDescription
Append

Adds all rows from the source data to the existing rows in the target table.

If you select Append, a staging table in Snowflake is required:

  • To automatically create a staging table, don't select the Specify staging table name checkbox. This checkbox is under the Advanced options section.
  • To manually specify an existing staging table in Snowflake, 
    1. Expand the Advanced options section.
    2. Select the Specify staging table name checkbox.
    3. Enter the Snowflake staging table name in the Specify staging table name field.

See the Staging table section below for more information.

Note: Append load isn't suitable for target tables with primary keys. 

Full replace

Deletes all existing data in the target table and replaces it with the source data.

If you select Full replace, a staging table in Snowflake is recommended and selected by default: 

  • If you don't want to create a staging table, don't select ‌the Stage data before replacing the target checkbox. This checkbox is under the Advanced options section.
  • If you want to create a staging table: 
    1. Expand the Advanced options section.
    2. Select the Stage data before replacing the target checkbox.
    3. Specify the staging table details:
      • To automatically create a staging table, don't select the Specify staging table name checkbox.
      • To manually specify an existing staging table, select the Specify staging table name checkbox. Then enter the existing staging table name in the Specify staging table name field.

See the Staging table section below for more information.

Upsert

Updates existing rows and adds new rows based on a specified key. 

If you select Upsert, a staging table in Snowflake is required:

  1. Select a Primary key.
    The columns you select are used to identify existing rows when using the upsert write option.
  2. Specify the staging table details:
    • To automatically create a staging table, don't select the Specify staging table name checkbox. This checkbox is under the Advanced options section.
    • To manually specify an existing staging table in Snowflake: 
      1. Expand the Advanced options section.
      2. Select the Specify staging table name checkbox.
      3. Enter the Snowflake staging table name in the Specify staging table name field.

See the Staging table section below for more information.

Staging tables are used to compare and process data before Data Orchestrator loads the data to the final target table in Snowflake.

If you want to use a staging table, you have the option to:

  • Automatically let Data Orchestrator create a staging table in Snowflake.
  • Manually specify an existing staging table in Snowflake.

This table describes how staging tables are used in Snowflake for each option.

Staging table optionsResults
Automatically create a staging table in Snowflake

After you run the pipeline:

  • Data Orchestrator automatically creates a temporary staging table in Snowflake. Snowflake then merges the data in the temporary table with the target Snowflake table you selected for the mapping. 
  • After the data has been successfully loaded into the target table, Data Orchestrator deletes the temporary staging table.
Manually specify an existing staging table from Snowflake

After you run the pipeline:

  • The data is pushed from Data Orchestrator to the Snowflake staging table you specified.
  • Snowflake automatically merges the Data Orchestrator data in the staging table with the target Snowflake table you selected for the mapping.

Note: To prevent data mismatch errors with Snowflake, make sure your data in Data Orchestrator and in Snowflake have a schema alignment. This means the tables in Data Orchestrator and in Snowflake must have the same columns and data types.

Once the pipeline is successfully completed, you can log in to your Snowflake account to verify the data load. 

Navigate to the target database, schema, and table specified in the pipeline configuration. The data written from the Data Orchestrator dataset is available in the target table, based on the selected write option (append, full replace, or upsert).